Android Studio調試打包簽名設置

在開發中,我們很有可能會引入百度地圖等的API,很多這些第三方API要求開發者在第三方開放平臺中進行註冊,註冊一般會需要應用的Package Name以及開發工具的SHA1值等等,從而方便第三方平臺進行驗證。常規做法便是獲取Android Studio的SHA1值,然後到開發平臺進行第三方API密鑰的申請,從而使用第三方API。然而這種做法在獨立開發是沒有問題的,一旦該項目是團隊開發,由於每個開發者的Android Studio的SHA1值不同,導致申請的key在其他開發者電腦中並不能使用。利用Android Studio,我們可以方便地設置調試打包的簽名設置,從而解決這個問題。

爲應用生成簽名密鑰

當項目進行打包時,我們一般會進行應用簽名,所以我們可以提前生成應用的打包簽名密鑰。Android Studio可以方便地生成應用的簽名密鑰。

  1. Build->Generate signed APK->選擇要打包的項目(默認爲app),next->create new Key Store
  2. 接着便會進入生成新的密鑰界面,如下圖所示
  3. 填入存儲地址,密碼,別名,別名密碼,證書相關信息,點擊ok即可

獲取簽名的SHA1值

打開Android Studio的終端Terminal,輸入命令

keytool -list -v -keystore ~/your path -storepass your password

第三方平臺註冊應用

該步驟根據不同的第三方平臺進行操作,獲取應用的appId,secretKey等信息。

build.gradle文件配置

正常情況下,Android Studio有默認的調試證書,我們調試應用時,使用的是默認的調試證書,顯然該證書的SHA1值或者MD5值和我們的簽名證書不同,因此,第三方驗證根本無法通過,導致第三方接口不起作用。所以我們需要利用Android Studio強大的gradle編譯功能,設置應用調試編譯或者打包編譯時,使用的是我們自己的簽名證書。

爲了方便團隊開發,我們需要把生成的簽名證書放入到工程文件中,上傳到SVN或者git服務器。爲了方便,我們直接放在應用的根目錄下,即app目錄下,這樣便和build.gradle文件在相同的目錄。

在build.gradle的android模塊中添加以下信息

signingConfigs {
    debug {
        storeFile file("your key.jks")
        storePassword 'your password'
        keyAlias 'your key alias'
        keyPassword 'your password'
    }
    release {
        storeFile file("your key.jks")
        storePassword 'your password'
        keyAlias 'your key alias'
        keyPassword 'your password'
    }
}
調試和發佈版本我們一般使用相同的簽名證書。並且修改buildType塊如下

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    debug{
        signingConfig signingConfigs.debug
    }
}

這樣設置後,應用調試編譯就會使用我們自己的簽名證書。

通過Android Studio的簽名設置功能,我們可以方便地在團隊開發中使用第三方框架,而不必每人自己切換第三方框架的appId以及secretKey等。


發佈了79 篇原創文章 · 獲贊 34 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章