platform.pk8
和platform.x509.pem
将在AOSP中(Android Open Source Project)源码路径下build\target\product\security\platform.pk8
和platform.x509.pem
复制出来放在同一目录下
openssl pkcs8 -in platform.pk8 -inform DER -outform PEM -out platform.pem -nocrypt
?# 生成platform.pk12,别名为dev
openssl pkcs12 -export -in platform.x509.pem -inkey platform.pem -out platform.pk12 -name dev
# 回车后,输入(该文件的)密码:123456
?
# keytool -importkeystore -deststorepass 上面输入的密码 -destkeystore platform.jks -srckeystore platform.pk12 -srcstoretype PKCS12 -srcstorepass 上面输入的密码
keytool -importkeystore -deststorepass 123456 -destkeystore platform.jks -srckeystore platform.pk12 -srcstoretype PKCS12 -srcstorepass 123456
?
keytool -list -v -keystore platform.jks
# 回车后,输入密码:123456
?将platform.jks
拷贝到项目模块的build.gradle
同级目录下
然后在build.gradle
中添加如下:
?? ?signingConfigs {
? ? ? ? config {
? ? ? ? ? ? storeFile file("platform.jks")
? ? ? ? ? ? storePassword '123456'
? ? ? ? ? ? keyAlias 'dev'
? ? ? ? ? ? keyPassword '123456'
? ? ? ? }
? ? }
?
? ? buildTypes {
? ? ? ? debug {
? ? ? ? ? ? proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
? ? ? ? ? ? signingConfig signingConfigs.config
? ? ? ? }
? ? }
按如上步骤生成platform.jks后,在android studio gradle 打包APk时,可能会报如下错误
?com.android.ide.common.signing.KeytoolException: Failed to read key dev from store "C:\code\xixiaoche_210\xixiaoche\app\platform.jks": Invalid keystore format
?解决方法:调高Gradle的JVM版本即可:我这里是从JDK1.8 调成studio自带的jre解决问题
?
?然后重新打包即可。
使用上边生成的系统签名jks,编译成apk;
修改系统时间啊,调用隐藏方法啊,系统关机重启啊,静默安装升级卸载应用等等,都需要需要root权限或者运行于系统进程中才可以用。因此就需要这样做:
? 1. 加入android:sharedUserId="android.uid.system"这个属性。 ? ? ??
? 2. 使用eclipse编译出未加签名的apk文件,但是这个apk文件是不能用的。
? 3. 使用目标系统的platform密钥来重新给apk文件签名。
hhhhhhttps://www.cnblogs.com/zuojie/p/17562191.html
hhhhhttps://blog.csdn.net/MYBOYER/article/details/104902159/