我們在進行Android開發的時候,如果開發的是系統應用,都需要系統的簽名才能正常運行。而系統應用一般是把代碼統一放到系統代碼庫中跟隨系統一起編譯。而如果我們想用Android Studio單獨開發某個應用而使用系統簽名的時候,有兩種開發的方式,一種是編譯完成後,使用SignApk.jar來進行簽名,另外一種是把系統的 platform.x509.pemplatform.pk8 轉換成爲Android Studio常用的 .keystore文件,編譯時候自動簽名。
Android系統簽名證書的目錄是“build/target/product/security”。
SignApk.jar簽名
命令行中使用 SignApk.jar簽名的方式如下:
1 |
$java -jar SignApk.jar platform.x509.pem platform.pk8Application.apk Application_signed.apk |
轉換爲 .keystore文件
使用keytool-importkeypair(本站下載)進行轉換,轉換命令如下:
1 |
$keytool-importkeypair -k ~/.android/debug.keystore -p android-pk8 platform.pk8 -cert platform.x509.pem -alias platform |
Android Studio使用platform.keystore:
在安卓項目的module 的build.gradle中,在android{ } 中添加添加如下代碼:
signingConfigs {
release {
File strFile = new File("../app/keystore/platform.keystore")
storeFile file(strFile)
keyAlias 'platform'
keyPassword 'android'
storePassword 'android'
}
debug {
File strFile = new File("../app/keystore/platform.keystore")
storeFile file(strFile)
keyAlias 'platform'
keyPassword 'android'
storePassword 'android'
}
}
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
}
debug {
signingConfig signingConfigs.debug
}
}