我目前看到此错误:
com.android.builder.testing.api.DeviceException:
com.android.ddmlib.InstallException: INSTALL_FAILED_UPDATE_INCOMPATIBLE:
Package signatures do not match the previously installed version; ignoring!
这是Android开发人员在设备上已安装应用程序时经常看到的程序集错误。通常,解决方案是简单地从设备中卸载版本。
就我而言,我在Play商店安装了最新版本的应用程序。我希望使用存储在应用程序中的数据(来自React Native的AsyncStorage
)测试新版本,并希望确保在使用新版本更新应用程序时,更新可以顺利读取此现有数据。
我已经使用新版本名称组装了一个新版APK,并将版本代码增加了一个。使用与Play商店中的版本相同的签名配置组装APK。
如果我理解正确,我不应该看到这个错误。签名不应该匹配,因为两个APK都使用相同的签名配置吗?
来自Google Play的公开APK已使用Google的证书进行签名。
为了解决这个问题,我访问了通过Google Play控制台提供的工件库并下载了原始APK。
然后我使用adb install original.apk
将原始APK安装到设备上。这允许我将新版本安装为更新,而不会看到“签名不匹配”错误。