在这篇文章"Android: install .apk programmatically"的帮助下。我在Android 2.3设备上成功进行了自动升级/自动安装:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory() + "/download/" + "app.apk")), "application/vnd.android.package-archive");
startActivity(intent);
但它在Android 4.0(ICS)设备上失败了,并给了我错误信息:
an existing package by the same name with a conflicting signature is already installed
可能出现什么问题?
谢谢!
答案 0 :(得分:2)
这可能是因为您首先从Eclipse运行您的应用程序(使用一个密钥签署您的应用程序)然后尝试通过下载apk文件(使用不同的密钥签名)通过某些更新服务再次安装它Eclipse确实来自网络。这会导致签名冲突。