Android Studio 打包apk後應用未安裝
本文轉載地址 http://blog.csdn.net/sinat_14849739/article/details/76383281
前言
Android 要求所有 APK 必須先使用證書進行數字簽署,然後才能安裝。當然這麼做的原因是為了保證APK的唯一性,安全性。本文主要介紹在android Studio2.3+打包apk後應用未安裝的解決辦法。
Android Studio2.3+簽名打包,應用未安裝
這幾天在整專案的時候發現一個問題,通過Android Studio2.3+打包出來的apk,在android7.0+的手機上安裝正常,但是在android7.0以下的均顯示應用未安裝,或者用PC工具都顯示安裝失敗。
在studio2.3版本以上打包會發現與之前的打包不一樣了,下面多了一項Signature Versions的選擇,如下圖:
經過打包實踐會發現:
-
如果只選V1,打包之後的apk在android7.0+或者7.0以下的手機安裝均正常;
-
如果只選V2,打包之後的apk在android7.0+的手機上安裝正常,在android7.0以下的手機安裝失敗。
-
如果同時勾選V1,V2,打包後的apk在android7.0+或者7.0以下的手機安裝也都正常;
APK signature scheme v2
Android 7.0 引入一項新的應用簽名方案 APK Signature Scheme v2,它能提供更快的應用安裝時間和更多針對未授權 APK 檔案更改的保護。在預設情況下,Android Studio 2.2 和 Android Plugin for Gradle 2.2 會使用 APK Signature Scheme v2 和傳統簽名方案來簽署您的應用。
雖然我們建議您對您的應用採用 APK Signature Scheme v2,但這項新方案並非強制性的。如果您的應用在使用 APK Signature Scheme v2 時不能正確開發,您可以停用這項新方案。禁用過程會導致 Android Studio 2.2 和 Android Plugin for Gradle 2.2 僅使用傳統簽名方案來簽署您的應用。
android {
...
defaultConfig { ... }
signingConfigs {
release {
storeFile file("myreleasekey.keystore" )
storePassword "password"
keyAlias "MyReleaseKey"
keyPassword "password"
v2SigningEnabled false
}
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
所以要使用傳統的方式簽名的話,我們只需要在簽名配置的release下新增:v2SigningEnabled false即可。或者個人建議打包時只選擇V1。
總結
-
1、在開發的過程中遇到一些問題,多查閱官方API或文件。
-
2、及時瞭解Android和Android Studio新版的特性,便於解決因版本不同帶來的各種問題。
-
3、多親自實踐,積累經驗。