无法在设备上更新调试 APK
Cannot update debug APK on device
我在尝试在我的设备上安装调试类型 .apk 文件时遇到问题。我有一个已安装 versionCode=n
的应用程序。当我尝试使用 versionCode=n+1
安装相同的应用程序时,出现错误。
这是我调用命令后的消息adb install xxx.apk
failed to install xxx.apk: Failure
[INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package xxx signatures do not
match the previously installed version; ignoring!]
我所有的 .apk 文件都使用 Android 调试密钥库进行了签名。命令 jarsigner -verify -verbose -certs xxx.apk
确认给我下一条消息:
- Signed by "C=US, O=Android, CN=Android Debug"
Digest algorithm: SHA-256
Signature algorithm: SHA256withRSA, 2048-bit key
jar verified.
这些 .apk 文件是通过调用 assembleDebug
命令的 TeamCity CI 构建的。
这很奇怪,因为我可以轻松更新由 CI 构建的发布 APK 文件。此问题仅在调试版本时出现。
你有什么想法吗?
提前致谢
您的 android 应用程序的每个调试版本都将使用调试密钥库进行签名。
这是一个问题,因为在持续集成环境中,例如 travis-ci 或 docker,调试密钥库会在每次创建环境时重新生成。
这意味着如果有人拥有您的应用程序的调试版本,他们将无法升级到更新的版本,因为密钥库会有所不同。
感谢:https://newfivefour.com/android-debug-build-constant-signed-keystore.html
还要比较两个 apk 是否使用相同的密钥签名:
检查:How do I find out which keystore was used to sign an app?
我在尝试在我的设备上安装调试类型 .apk 文件时遇到问题。我有一个已安装 versionCode=n
的应用程序。当我尝试使用 versionCode=n+1
安装相同的应用程序时,出现错误。
这是我调用命令后的消息adb install xxx.apk
failed to install xxx.apk: Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package xxx signatures do not match the previously installed version; ignoring!]
我所有的 .apk 文件都使用 Android 调试密钥库进行了签名。命令 jarsigner -verify -verbose -certs xxx.apk
确认给我下一条消息:
- Signed by "C=US, O=Android, CN=Android Debug" Digest algorithm: SHA-256 Signature algorithm: SHA256withRSA, 2048-bit key
jar verified.
这些 .apk 文件是通过调用 assembleDebug
命令的 TeamCity CI 构建的。
这很奇怪,因为我可以轻松更新由 CI 构建的发布 APK 文件。此问题仅在调试版本时出现。
你有什么想法吗? 提前致谢
您的 android 应用程序的每个调试版本都将使用调试密钥库进行签名。
这是一个问题,因为在持续集成环境中,例如 travis-ci 或 docker,调试密钥库会在每次创建环境时重新生成。
这意味着如果有人拥有您的应用程序的调试版本,他们将无法升级到更新的版本,因为密钥库会有所不同。
感谢:https://newfivefour.com/android-debug-build-constant-signed-keystore.html
还要比较两个 apk 是否使用相同的密钥签名: 检查:How do I find out which keystore was used to sign an app?