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-importkeypair  platform.x509.pem、platform.pk8 拷贝到这个文件夹下,使用以下命令:

./keytool-importkeypair -k [jks文件名] -p [jks的密码] -pk8 platform.pk8 -cert platform.x509.pem -alias [jks的别名]

./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_sign.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'           
        }        
    }

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

        debug{         
            signingConfig signingConfigs.debug     
        }
    }
}

然后运行项目即可。也可以用下面这种方式生成签名的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 -jar signapk.jar platform.x509.pem platform.pk8 demo.apk new.apk

注意:在应用程序的AndroidManifest.xml中的manifest节点中加入android:sharedUserId=”android.uid.system”这个属性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值