debug 版本使用生產版本的簽名
- 在開發過程中,app 直接跑到手機上,用的簽名文件是 Android Studio 默認的自動生成的一個簽名,與生產版本的 app 簽名是不一樣的。當接入華為推送的時候,發現 debug 版本的簽名不一致,造成初始化失敗,所以需要把 debug 版的簽名也修改為生產的簽名
-
在 module 的 build.gradle 中配置簽名文件和信息
signingConfigs { releaseConfig { storeFile file('keystore/signing.keystore') storePassword "123456789" keyAlias "gradle" keyPassword "123456" } }
-
在 build.gradle 的配置 debug 版本
debug { minifyEnabled false ...... signingConfig signingConfigs.releaseConfig }
-
以上操作以后,每次跑到手機上的 bebug 的版本簽名與生產的簽名是一致的。
debug 版本安裝的時候提示 INSTALL_FAILED_INVALID_APK
-
根據以上操作把 debug 版本的簽名更換為生產的簽名,點擊
run
,安裝的時候提示了錯誤::INSTALL_FAILED_INVALID_APK: /data/app/vmdl654475879.tmp/8_slice__ signatures are inconsistent
-
解決辦法:
clean project
,然后在run
,就可以了。
signing.KeytoolException:XXX :Cannot recover key
-
debug 版本配置好了以后,在最后簽名的時候顯示了如下的錯誤:
com.android.ide.common.signing.KeytoolException: Failed to read key xxx from store "D:\gitlab\develop\xxxAndroid_develop\xxx\keystore\xxx.keystore": Cannot recover key
-
可能的原因:keystore 或者密碼錯誤造成的。
-
解決辦法:
- 使用正確的 keystore
- 使用正確的密碼