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

这样就可以打包系统签名的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了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值