andlp

通常,我们在做系统用户开发时,需要给应用加上系统签名,使其拥有系统权限,签名方式可以使用系统源码中的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
        }
    }

 

  

 

分类:

技术点:

相关文章: