Android给第三方应用添加系统签名的两种方式

Android给第三方应用添加系统签名的两种方式

第一种:使用keytool-importkeypair生成keystore文件,后缀名为.jks,放到android studio中

1、  下载keytool-importkeypair 地址:https://github.com/getfatday/keytool-importkeypair

2、  在源码中拷贝 platform.x509.pem、platform.pk8(位于../build/target/product/security)

不同厂商的位置不同,需要正确路径下的platform.x509.pem、platform.pk8,否则签名会失败。

3、  在linux平台下新建一个文件夹,吧 keytool-importkeypairplatform.x509.pem、platform.pk8 拷贝到这个文件夹下,使用以下命令:

./keytool-importkeypair-k demo.jks -p 123456 -pk8 platform.pk8 -cert platform.x509.pem -alias demo

其中demo.jks是生成的签名文件123456是密码demo是别名,然后再用命令

keytool-importkeystore -srckeystore demo.jks -destkeystore demo_signed.jks-deststoretype pkcs12  

迁移到行业标准格式即可,这样我们就可以在android studio 中使用我们的系统签名文件了

4、  打开android studio 在项目的根目录新建一个文件夹

然后在app的build.gradle的android闭包中添加如下代码

android{
    compileSdkVersion 25
    buildToolsVersion "26.0.2"

    defaultConfig {
        applicationId"com.honeywell.applock"
        minSdkVersion 19
        targetSdkVersion 25
    }

    signingConfigs {
       release {
            storeFile file('../platformSign/demo_signed.jks')
            storePassword '123456'
            keyAlias 'demo'
            keyPassword'123456'
       }
       debug {
            storeFile file("../platformSign/demo_signed.jks")
            storePassword '123456'
            keyAlias 'demo'
            keyPassword'123456'
       }
    }

然后运行项目即可。也可以用下面这种方式生成签名的apk

第二种:用signapk.jar 直接签名apk

1、  找到源码中的signapk.jar包(./out/host/linux-x86/framework/signapk.jar

或是./prebuilts/sdk/tools/lib/signapk.jar)

2、  在源码中拷贝 platform.x509.pem、platform.pk8(位于../build/target/product/security)

不同厂商的位置不同,需要正确路径下的platform.x509.pem、platform.pk8,否则签名会失败。

3、   把signapk.jar  platform.x509.pem、platform.pk8和需要签名的apk放在一个文件下,使用命令:

java-Xmx512m -jar signapk.jar -w platform.x509.pem platform.pk8 demo.apkdemo_Signed.apk

4、  或者直接把apk拷贝到源码目录,使用命令 :

java-Xmx2048m -Djava.library.path="out/host/linux-x86/lib64" -jarout/host/linux-x86/framework/signapk.jar -w build/target/product/security/platform.x509.pem     build/target/product/security/platform.pk8     demo.apk demo_Signed.apk

进行签名即可。(platform.x509.pem、platform.pk8的路径需要和平台的一致,不一定是以上路径)

你可能感兴趣的:(android,笔记)