Android Studio2.3 爬坑小記

高高興興更新了2.3以後,搞了半天的時間,舊的項目都能跑了。以爲就此爬坑完畢,哪知還是too yong,too森破了。


打包的時候又出現了問題,打出來的包在Android7.0上安裝無問題。但是在Android7.0以下安裝失敗。



明明有簽名的打包啊?一臉問號。然後去找Android的親爹。

發現:

默認受信任的證書頒發機構


默認情況下,面向 Android 7.0 的應用僅信任系統提供的證書,且不再信任用戶添加的證書頒發機構 (CA)。如果面向 Android N 的應用希望信任用戶添加的 CA,則應使用網絡安全性配置以指定信任用戶 CA 的方式。

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 僅使用傳統簽名方案來簽署您的應用。要僅用傳統方案簽署,打開模塊級 build.gradle 文件,然後將行 v2SigningEnabled false 添加到您的版本簽名配置中:

  android {
    ...
    defaultConfig { ... }
    signingConfigs {
      release {
        storeFile file("myreleasekey.keystore")
        storePassword "password"
        keyAlias "MyReleaseKey"
        keyPassword "password"
        v2SigningEnabled false
      }
    }
  }

注意:如果您使用 APK Signature Scheme v2 簽署您的應用,並對應用進行了進一步更改,則應用的簽名將無效。出於這個原因,請在使用 APK Signature Scheme v2 簽署您的應用之前、而非之後使用 zipalign 等工具。

如需瞭解詳細信息,請閱讀相關的 Android Studio 文檔,這些文檔介紹瞭如何在 Android Studio 中簽署應用以及如何使用 Android Plugin for Gradle 爲簽署應用配置構建文件

原文地址:https://developer.android.com/about/versions/nougat/android-7.0.html#scoped_directory_access


在Android Studio 2.2中,打包簽名已經使用了兩種方式: APK Signature Scheme v2 和傳統簽名方案來簽署應用。但是在AS2.2中沒有強調體現。在AS2.3中打包的時候有體現:



勾選V2就可能導致在Android7.0以下的設備無法安裝。所以只要打包的時候勾選V1就好了。


問題解決,撒花。 

假裝有圖.jpg




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章