如何用Android 源码生成签名文件
我们很多应用需要用到系统签名,可以通过生成系统签名文件,在生成apk时使用这个签名,然后可以安装到机器中,不需要放在源码里编译,重新刷系统。
android :sharedUserId="android.uid.system"
先附上50和20机器人通用的debugkey(图已经省略)
以platform为例
在Linux环境中,以Android源码目录为根目录。
cd build/target/product/security/
----------------------------------
drwxrwxr-x 2 root root 4096 Apr 16 09:38 ./
drwxrwxr-x 3 root root 4096 Apr 16 09:38 ../
-rw-rw-r-- 1 root root 260 Apr 16 09:38 Android.mk
-rw-rw-r-- 1 root root 1675 Apr 16 09:38 media.pem
-rw-rw-r-- 1 root root 1217 Apr 16 09:38 media.pk8
-rw-rw-r-- 1 root root 1440 Apr 16 09:38 media.x509.pem
-rwxrwxr-x 1 root root 539 Apr 16 09:38 mkkey.sh*
-rw-rw-r-- 1 root root 1675 Apr 16 09:38 platform.pem
-rw-rw-r-- 1 root root 1216 Apr 16 09:38 platform.pk8
-rw-rw-r-- 1 root root 1440 Apr 16 09:38 platform.x509.pem
-rw-rw-r-- 1 root root 1758 Apr 16 09:38 README
-rw-rw-r-- 1 root root 1679 Apr 16 09:38 shared.pem
-rw-rw-r-- 1 root root 1218 Apr 16 09:38 shared.pk8
-rw-rw-r-- 1 root root 1440 Apr 16 09:38 shared.x509.pem
-rw-rw-r-- 1 root root 1675 Apr 16 09:38 testkey.pem
-rw-rw-r-- 1 root root 1216 Apr 16 09:38 testkey.pk8
-rw-rw-r-- 1 root root 1440 Apr 16 09:38 testkey.x509.pem
-rw-rw-r-- 1 root root 524 Apr 16 09:38 verity_key
-rw-rw-r-- 1 root root 1219 Apr 16 09:38 verity.pk8
-rw-rw-r-- 1 root root 1444 Apr 16 09:38 verity.x509.pem
其中的platform.pk8是制作系统签名需要的文件。
1、在这个目录下,执行
openssl pkcs8 -inform DER -nocrypt -in platform.pk8 -out platform.pem
生成临时文件platform.pem
2、接着执行以下命令,将在目录下生成platform.p12文件,它本质上应该就是一个数字证书
openssl pkcs12 -export -in platform.x509.pem -out platform.p12 -inkey platform.pem -password pass:android -name androiddebugkey
3、然后再执行以下命令出现以下信息,表示成功生成platform.jks
keytool -importkeystore -deststorepass android -destkeystore ./platform.jks -srckeystore ./platform.p12 -srcstoretype PKCS12 -srcstorepass android
这个名字可以改成debug.keystore. 它的后缀本身是没有关系,eclipse和AS都识别 platform.jks
4、然后在打包 apk 的时候选择platform.jks文件,就可以直接用adb命令安装apk到机器中了。
adb install xxxx
xxxx表示需要安装的apk路径
5、签名的 Key store password和Key password都是android