Android系統簽名轉換爲keystore

通常,我們在做系統用戶開發時,需要給應用加上系統簽名,使其擁有系統權限,簽名方式可以使用系統源碼中的platform.pk8、platform.x509.pem、signapk.jar對應用簽名,使用方法:

java -jar signapk.jar platform.x509.pem platform.pk8 Test01.apk Test01_signed.apk

  這種方法使得開發非常不方便,每次編譯完成之後還有進行簽名操作,如果能將簽名文件轉換爲keystore文件,加入到AndroidStudio的gradle編譯腳本中,就可以一鍵生成簽名後的apk。
轉換方法如下:

1.openssl pkcs8 -in platform.pk8 -inform DER -outform PEM -out shared.priv.pem -nocrypt

2.openssl pkcs12 -export -in platform.x509.pem -inkey shared.priv.pem -out shared.pk12 -name testalias

其中testalias爲keyAlias

3.keytool -importkeystore -deststorepass android -destkeypass android -destkeystore source.keystore -srckeystore shared.pk12 -srcstoretype PKCS12 -srcstorepass android -alias keyAlias

生成的source.keystore即爲所需要的keystore文件,storePassword和keyPassword爲android
gradle配置:

signingConfigs {
        release {
            storeFile file('D:\\sign\\keystore\\source.keystore')
            storePassword 'android'
            keyAlias 'keyAlias'
            keyPassword 'android'
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.release
        }
        debug {
            signingConfig signingConfigs.release
        }
    }

 

  

 

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