制作系统签名(具体在build\target\product\security\README文件有说明):
-
platform.pk8和platform.x509.pem复制出来放在同一目录下
将AOSP源码路径下build\target\product\security\platform.pk8和platform.x509.pem
复制出来放在同一目录下 -
新开一个ternimal窗口执行下面命令,生成platform.pem文件
openssl pkcs8 -in platform.pk8 -inform DER -outform PEM -out platform.pem -nocrypt
-
执行下面命令,然后随便输入一个密码比如:123456,生成 platform.pk12文件
openssl pkcs12 -export -in platform.x509.pem -inkey platform.pem -out platform.pk12 -name dev //回车后,输入密码:123456 //再次输入确认密码:123456
-
执行下面命令,生成keystore文件
//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
-
在Android项目中使用
将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} }
注意:
发现一个问题,使用系统签名之后,native代码没方法debug了,没方法附加native进程,提示no such process
网上查了说使用了系统签名之后调试器出问题没方法和我们native进程通信可能是权限问题,java代码能正常调试,暂时找不到解决方法,
错误提示:Unsupported device. This device cannot be debugged using the native debugger. See log file for detail
制作系统签名(具体在build\target\product\security\README文件有说明):