Android 使用Android Studio + Gradle 或 命令行 進行apk簽名打包


官方文檔:https://developer.Android.com/tools/publishing/app-signing.html

 

1. 默認為debug mode,使用的簽名文件在: $HOME/.android/debug.keystore

 

2. Release Mode 簽名:

 build.gradle:

    

 1 android {  
 2     signingConfigs {  
 3         releaseConfig {  
 4             keyAlias 'stone'  
 5             keyPassword 'mypwd'  
 6             storeFile file('/Users/stone/Documents/project_AS/myapplication/stone.keystore')  
 7             storePassword 'mypwd'  
 8         }  
 9     }  
10         buildTypes {  
11            release {  
12              ...  
13              signingConfig signingConfigs.release  
14            }  
15         }  
16   
17 }  

 

signingConfigs 即簽名配置。 配置名releaseConfig{ //配置內容 }

在buildTypes中指定release時的signingConfigs對應的配置名 

 

執行gradle 命令, $ gradle assembleRelease 

編譯並發布。 在build/outputs/apk/ 下能看到未簽名的apk 和 已經簽名的apk

如果未用簽名文件,使用debug mode的debug簽名。那就會生成一個debug簽名的apk

 

3. 簽名密碼寫在gradle中不安全:

signingConfigs { //gradle assembleRelease  
    myConfig {  
        storeFile file("stone.keystore")  
        storePassword System.console().readLine("\nKeystore password: ")  
        keyAlias "stone"  
        keyPassword System.console().readLine("\nKey password: ")  
    }  
}  


這樣在命令 執行 命令時,就會被要求輸入密碼

 

 

4. 使用Android Studio 簽名打包

   菜單 Build > Generate Signed APK

 

5. 使用Android Studio 自動簽名打包

   a. 打開project structure (cmd+;)

   b. 選中需要構建的moudle,打開Signing,添加config

   

      執行完成后,會在build.gradle中自動加上 signingConfigs{ config {...} }的信息

   c. 打開build types > release

    在signing Config中選擇定義的配置

    zip align enabled 默認為true, 用於啟用優化Apk的操作

   d. $ gradle build

      會在build/outputs/apk/ 目錄下輸出 在build types中定義的 編譯類型

     如:

  myapplication-debug-unaligned.apk
  myapplication-debug.apk
  myapplication-release-unaligned.apk
  myapplication-release-unsigned.apk
  myapplication-release.apk

 

6. 使用Android SDK 和 JDK 的命令 簽名打包APK

 創建簽名
  keytool -genkey -v -keystore stone.keystore -alias stone -keyalg RSA -keysize 2048-validity 10000  生成簽名文件
 為apk簽名
  jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore stone.keystore unsigned.apk stone 不生成新文件
 檢測apk是否簽名
  jarsigner  -verbose -certs -verify signed.apk 
 優化apk
  zipalign -f -v 4 signed_unaligned.apk signed_aligned.apk 

 

轉自:http://blog.csdn.net/jjwwmlp456/article/details/44942109#comments

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM