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 app:开机自动启动app demo 源码
- android获取各种系统路径的方法
- Android笔记1——Android SDK自带的工具和命令
- Android Parcelable 源码解析
- Android volley的源码实现原理
- Android网易有道词典案例源码分享