尝试通过现有调试apk安装时“未安装应用程序”
当两个或多个开发人员在一个团队中工作时,如果已安装的 APK 是由其他开发人员生成的,则他们无法覆盖。这是确切的场景:
- 两个开发人员正在开发同一个 Android 项目。
- 当开发人员生成并共享调试 APK 时。它安装在设备上并正常运行。
- 当开发人员二生成具有相同代码库的调试 APK 并尝试通过开发人员一共享的应用程序安装应用程序时,它会显示消息“应用程序未安装”。
- 当开发人员再次共享调试 APK 时,它会安装在现有应用程序上。
谁能告诉为什么会发生此错误是否有任何笔记本电脑级别的依赖性?
回答
为什么会发生这种情况
发生这种情况是因为您在 Android 上构建的应用程序正在使用本地计算机上生成的特定密钥库进行签名。因此,当开发人员 1 使用他的密钥库签署应用程序时,它会获取他的指纹,您可以正常安装它。但是当开发人员 2 使用他的(不同的)密钥库构建应用程序时,它会获得不同的指纹。因此,Android 不会让您覆盖已安装的应用程序。解决方案是共享调试密钥库,以便所有 APK 的指纹对齐。
密钥库可以在~/.android/debug.keystore
.
如何验证
您可以使用以下命令验证 APK 的指纹:keytool -printcert -jarfile app.apk
,或者keytool -printcert -jarfile app.aab
如果您输出 aab。