如果你在android上更新一个已经安装过较早版本软件时,安装到最后一步提示你:已安装了存在签名冲突的同名数据包,然后安装失败。这是因为旧版软件的签名信息与新版不一致造成的。你可以卸载这个软件,然后安装新版软件。

如果无法卸载,可能手机(pad)在发售前将该软件内置在手机中无法卸载。如果是这个原因的话,你可以尝试“root”系统,然后卸载掉该软件的旧版本,然后安装。

如果你是一个开发人员,那么出现这个问题可能是因为,较旧的版本你是使用eclipse自动发布到模拟器上的,而eclipse自动发布时使用的是一个测试用签名,这个签名与你正式打包的签名不是一个。(这个问题一般发生在测试自动更新功能上,嘿嘿)。想继续测试自动更新,解决的办法也很简单,手工删除该软件的旧版(eclipse自动安装的那个),然后使用adb工具安装旧版再测试新版就好。自动更新的安装代码一般是这样:

Intent i = new Intent(Intent.ACTION_VIEW);
i.setDataAndType(Uri.parse("file://" + apkfile.toString()),
"application/vnd.android.package-archive");
mContext.startActivity(i);

或许你和这略有不同,不用担心,没什么,问题不在这里。

下面是给外国朋友的,请原谅我蹩脚的英语:

for foreigner,please forgive my broken:

When you try install a new version of a software on android, maybe you will receive this message: an existing package by the same name with a conficting signature is already installed!

I take it easy! Uninstall old version soft, and then install new version. In this process , maybe you need get "root" popedom.

If you are developer, you receive this message maybe because the old version is install by the eclipse. Eclipse use a debug keystore signature.  I guess you try test you autoupdate function. You can uninstall it (eclipse auto package version) in setting tool. And install the old version (which you signature package) by ADB.exe before you test autoupdate function.

Autoupdate function code always like this:

Intent i = new Intent(Intent.ACTION_VIEW);
i.setDataAndType(Uri.parse("file://" + apkfile.toString()),
"application/vnd.android.package-archive");
mContext.startActivity(i);

If you code not like this , dont worry , never mind,  the question not in there.

:)

原文地址:http://hi.baidu.com/cenxcen/item/824ff249eb5909f2dd0f6c64

在android软件开发中,总是需要更新版本,所以当有新版本开发的时候,就需要软件有自动更新的功能,让用户无需自己去手动更新方便用户
具体的过程网上有很多我就不多说,现提供一些链接供大家参考

http://www.cnblogs.com/wainiwann/archive/2012/03/12/2391810.html

http://blog.csdn.net/android_tutor/article/details/7015986

http://blog.csdn.net/xjanker2/article/details/6303937

以上文章都实现了android程序自动更新功能,网友可以参考。

现在讲一下我遇到的问题,我也是按照以上方法去实现的,发现以下的问题:

1。当下载完以后,安装的时候,系统显示正在安装,然后就没有,回到了主页,没有显示安装成功的界面,让用户不知所措。

2.。出现“install_failed_already_exists”这个错误。

3。出现“INSTALL_FAILED_VERSION_DOWNGRADE”这个错误。

纠结了一天多终于找到答案了。

对于第一个问题,原来在按装程序的时候我用的代码是如下:

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse("file://xxxx.apk"), "application/vnd.android.package-archive");
context.startActivity(intent);

这在android4.0以前的系统中没有什么问题,但是在android4.0及其以后的系统中就不显示安装成功的界面,应该添加一句:

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

才会出现安装成功的界面。

对于第二个问题,先前已经安装过这个程序,悄可能需要先卸载再重新安装。

第三个问题是你当前程序的版本低于已经安装过和版本号,所以卸载再安装。

还有如果一个问题就是,如果你两个版本的签名文件不一样的话,也会出现第二问题,而且用户在自动更新的时候会报第二个错误,所以在做自动更新的时,要使用同份签名证书,这个切记。

原文地址:http://blog.csdn.net/lovexieyuan520/article/details/9250099

出现已安装了存在签名冲突的同名数据包的原因及解决办法相关推荐

  1. Android之手机出现已安装了存在签名冲突的同名数据包的原因及解决办法

    如果你不是开发者:如果你在android上更新一个已经安装过较早版本软件时,安装到最后一步提示你:已安装了存在签名冲突的同名数据包,然后安装失败.这是因为旧版软件的签名信息与新版不一致造成的.你可以卸 ...

  2. Android - 已安装了存在签名冲突的同名数据包,解决方法!

    错误提示:已安装了存在签名冲突的同名数据包. 解决方法:打开Android Studio,打开logcat,用usb线连接你出错的手机,识别出手机之后,在你的项目后面,点击"run" ...

  3. 应用程序未安装:已安装了存在签名冲突的同名数据包。

    问题如题 : 应用程序未安装:已安装了存在签名冲突的同名数据包. [解决方案]: 1.检查项目的 包名.签名文件.keystore 的 key 和密码 是否一致: 2.如果您是软件的开发人员,遇到该问 ...

  4. 应用程序未安装,已安装了存在签名冲突的同名数据包

    1.问题现象 2.问题分析和解决方案 如果您是软件的开发人员,遇到该问题大概是因为您使用的Eclipse将旧版本的软件自动发布到手机上或者模拟器上,然而使用此种方式安装的软件使用Eclipse的测试用 ...

  5. U盘安装Windows10系统报错无法打开文件install.wim原因及解决办法

    1.现象描述: 毕业后买了一台联想Y7000P笔记本电脑用了一年左右,换了工作后一直用的公司Mac笔记本,就这样联想笔记本闲置几年再次使用时系统更新一下,卡的要死就想重新安装一下系统,还是按之前经验使 ...

  6. 小米手机 已安装了存在签名冲突的应用

    小米手机 已安装了存在签名冲突的应用 在小米手机上安装软件有时候会出现已安装了相同签名的应用,但是实际上手机怎么也找不到相同的应用,也没有安装相同的debug版本.最后才发现是小米手机分身的问题. 如 ...

  7. VS2015安装报“安装包丢失或损坏”(win7)问题的解决办法(证书安装后无效,仍然无法解决请尝试本文)

    执行步骤 1. 下载vs2015.pro_chs.iso 2. 解压,执行安装程序. 提示安装包已损坏,后续执行步骤需要先安装证书,证书下载参考这个文章:Win7或Win8上安装VS2015报&quo ...

  8. U盘安装ubuntu12.04成功后系统无法启动的原因及解决办法

    U盘安装Ubuntu 12.04成功后系统无法启动的原因及解决办法 现象:   下载好镜像文件,用Universal-USB-Installer-1.9.0.2加载镜像制作启动U盘,从U盘启动装好了U ...

  9. Visual Studio2012打开时弹出“遇到异常:这可能是由某个扩展导致的”错误的解决办法...

    Visual Studio2012打开时弹出"遇到异常:这可能是由某个扩展导致的"错误的解决办法: 具体问题如下: 分析原因:网上搜集了以下,出现异常的原因是安装了第三方控件,然后 ...

最新文章

  1. oracle9i在window server 2003 sp2 企业版突破1.7G内存限制
  2. 用python做一些excel的事情,实现数据自动化
  3. python处理数据库_python操作数据库
  4. LVS NAT/DR
  5. 前端经典案例——购物车,Jquery实现
  6. pandas中dropna函数_快速解释如何使用pandas的inplace参数
  7. 视频前初步认识UML
  8. nginx proxy_pass末尾神奇的/
  9. Java EE CDI依赖关系消歧示例
  10. [转载] 字符串最长重复子串python_查找字符串中重复字符的最长子字符串
  11. jQuery 第八课 —— 数据交互的升级
  12. [macOS] git忽略所有的.DS_Store文件
  13. python reportlab模块
  14. 华为锁屏后微信网络连接服务器,华为P30 Pro锁屏息屏状态下微信收不到信息,显示网络不可用...
  15. 基于html + css + js完成淘宝网首页效果
  16. 项目沟通管理和项目干系人管理
  17. Surface Go1 与Surface Go2的不同 (非专业对比)
  18. 相机快门和曝光时间的确定
  19. MPP集群基本概念和搭建
  20. 使用Maxima求解常微分方程~

热门文章

  1. 树莓派救援机器人制作
  2. ObjectARX开发各版本与VS各版本对照表
  3. 关于yolov5进行FPS游戏的目标检测,实现自动瞄准。
  4. Html 层级 透明度 背景图片
  5. 【ES6】阮一峰ES6学习之Module的加载实现
  6. 【Unity】Rigibody——刚体加力、刚体加扭矩力、刚体加力的几种模式
  7. ARM体系结构与编程_2015.08_P513_完整版PDF电子书下载 带索引书签目录高清版
  8. python爬虫教程:爬取破解无线网络wifi密码过程解析
  9. UWB TDOA一维定位解算
  10. 双反馈直流matlab仿真,双闭环直流调速系统设计及matlab仿真验证(