INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES第一次安装应用程序

我正在尝试手动构build和签名应用程序,但在安装到模拟器之前,我一直在获取INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES ,之后我甚至成功安装了一次。

以防万一,我试图卸载应用程序(是的,我给了正确的Java包名称),但它并没有解决问题。

我也尝试重新启动模拟器并标记“擦除用户数据”checkbox。

软件包名称包括我们的公司名称,所以它不能与内部软件包冲突。

我没有在互联网上发现任何其他的解释,除了“你已经安装了相同的应用程序的另一个版本”,所以我有点卡在这里。

谢谢!

也许它没有正确签名? 尝试使用Eclipse或SDK Ant任务构build它,并比较APK。 或者使用jarsigner来检查签名,并确保它是你所期望的。

我也遇到了这个问题,原因是我已经安装了相同的应用程序,但使用不同的键(DEBUG键与释放键)签名。 手动删除旧的安装并重新安装解决了这一点。

这对我工作:

  • 前往设置
  • 然后select应用
  • select下载的主题
  • 为所有用户select应用程序卸载

然后,一切都像一个魅力。

我已经在设备上的APK>删除它解决了我> TNX

我今天遇到了这个,看起来不止一次地导致了这个APK的签名行为。

当我使用标准的“ant debug”构build自动签名debugging密钥库时,然后将文件添加到APK中,并使用debugging密钥库将其退出,所有的步骤和validation都会给我预期的结果,但在安装新工厂 – 复位机我得到这个消息。

当我使用标准的“ant release”构build时,通过按Ctrl-C跳过密码请求,然后将文件添加到APK并使用我的私有密钥存储库进行注销,一切都按预期工作。

您可以使用标准方法来构build您的APK文件,但是在您辞职之前,您需要删除APK文件中的META-INF目录以取消签名。 在Linux / Mac上,您可以使用命令zip -d yourapp.apk“META-INF *”。

还有一件事:有些人已经报告了在alignment的APK文件上进行签名/签名操作的问题,所以如果你有select,你可能应该在未alignment的操作上进行操作,然后使用zipalign作为最后一步。

对于每个新版本,我们都在模拟器上运行testing。 因为我们希望从每个新的testing运行的已知configuration开始,每次删除旧的AVD后,我们都会创build一个新的AVD:

android delete avd -n $ {EMULATOR}
android创buildavd -n $ {EMULATOR} -t 26

即使在这个新创的AVD上,我们也看到:

失败[INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]

当安装要testing的APK和JUnittestingAPK时。

似乎为我们工作的是运行:

adb卸载my.app.name
adb卸载my.app.name.test

在新创build的模拟器上,即使这会导致

失败

最终安装(生成后)显示:

[执行] 1174 KB / s(4430116字节3.683s)
[exec] pkg:/data/local/tmp/MainActivity-debug.apk
[执行]成功

对于正在testing的APK和testingAPK。

尝试删除设备上的应用程序,然后在冰上运行

这是唯一对我有用的东西:

 $ adb uninstall com.example.testproj 

希望能帮助到你

  1. 在manifest.xml中更改包名(例如,give = package =“com.first.rss”)
  2. 在src中更改名称
  3. 右键单击>重构>重命名…并给出一个名称。

如果其他人得到了这个失败,并且上述解决scheme都没有工作,请确保为您的应用程序禁用pipe理员权限(如果您有请求)。

从多台机器上处理应用程序时遇到同样的问题。 尽pipe从我的设备上卸载应用程序,问题仍然存在。 然而,我发现该软件包仍然安装在设备上的其他用户。

在您的设备上,进入设置>应用程序,然后点击包装。 然后点击菜单/选项button,然后select“为所有用户卸载”。

这应该允许应用程序再次安装在您的设备上。

我有这个问题试图对Genymotion执行gradle任务connectedDebugAndoidTest (或connectedAndroidTest )。 在普通模拟器上运行解决了这个问题。