繁体   English   中英

尝试安装现有调试 apk 时出现“未安装应用程序”

[英]“App not installed” when trying to install over existing debug apk

当两个或多个开发者在一个团队中工作时,如果它是由其他开发者生成的,他们不能覆盖已安装的 APK。 这是确切的场景:

  1. 两名开发人员正在开发同一个 Android 项目。
  2. 当开发人员一生成并共享调试 APK。 它安装在设备上并正常运行。
  3. 当开发人员二生成具有相同代码库的调试 APK 并尝试通过开发人员一共享的应用程序安装应用程序时,它显示消息为“应用程序未安装”。
  4. 当开发人员再次共享调试 APK 时,它会安装在现有应用程序上。

谁能告诉为什么会发生此错误是否存在任何笔记本电脑级别的依赖性?

为什么会发生这种情况

发生这种情况是因为您在 Android 上构建的应用程序正在使用本地计算机上生成的特定密钥库进行签名。 因此,当开发人员 1 使用他的密钥库对应用程序进行签名时,它会获取他的指纹并且您可以正常安装它。 但是当开发人员 2 使用他的(不同的)密钥库构建应用程序时,它会获得不同的指纹。 因此 Android 不会让您覆盖已安装的应用程序。 解决方案是共享调试密钥库,以便所有 APK 的指纹对齐。

密钥库可以在~/.android/debug.keystore中找到。

如何验证

您可以使用以下命令验证 APK 的指纹: keytool -printcert -jarfile app.apkkeytool -printcert -jarfile app.aab如果您是 output 是 aab。

在生成调试 APK 之前,Android Studio 会自动使用由 Android SDK 工具生成的调试证书对您的应用进行签名。 因此,这两个 APK 都使用不同的密钥签名。

你可以在这里阅读更多

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM