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
        }
    }

 

  

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM