Android Studio直接install系统签名的apk到设备

1. 准备文件

1.1 获取platform.pk8和platform.x509.pem

在Android源码的build/target/product/security/目录下找到文件platform.pk8和platform.x509.pem,复制到Linux下新建的signature文件夹下。

1.2 获取signapk.jar

在Android源码的out/host/linux-x86/framework/目录下找到文件signapk.jar,复制到Linux下signature目录下。


2.生成签名秘钥

上述文件都放到Linux的signature目录下,则在该目录下依次执行以下指令,就可以在同一目录下生成系统签名platform.keystore。

  • 利用platform.pk8文件生成一个名为shared.priv.pem的中间文件
openssl pkcs8 -in platform.pk8 -inform DER -outform PEM -out shared.priv.pem -nocrypt
  • 利用platform.x509.pem文件生成另一个名为shared.pk12中间文件
openssl pkcs12 -export -in platform.x509.pem -inkey shared.priv.pem -out shared.pk12 -name platform

这一步,会让输入密码

Enter Export Password:  android12

Verifying - Enter Export Password:  android12

  • 生成秘钥platform.keystore
keytool -importkeystore -deststorepass android12 -destkeypass android12 -destkeystore platform.keystore -srckeystore shared.pk12 -srcstoretype PKCS12 -srcstorepass android12 -alias platform

3. Android Studio中使用该系统签名

把第二步生成的platform.keystore系统签名复制到window 上任意目录即可。

3.1 Generate Signed Bundle or APK

Android Studio直接install系统签名的apk到设备_第1张图片

这样就可以打包系统签名的apk了。

3.2 调试有系统签名的apk直接run到设备中

这就需要在gradle中配置,在android节点下使用signingConfigs设置以下属性:

android {    
    ...
    signingConfigs {
        config {
            storeFile file("E:\\work\\signature\\platform.keystore")
            storePassword "android12"
            keyAlias "platform"
            keyPassword "android12"
        }
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.config
        }
        debug {
            signingConfig signingConfigs.config
        }
    }

}

这样就可以在Android Studio下生成和调试有系统签名的apk了。

你可能感兴趣的:(Android,Application,android,studio,android)