android开发制作aosp系统签名文件给普通apk签名使用
制作系统签名(具体在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