AndroidStudio 配置系统签名
一、准备工作
- 在github上下载工具
keytool-importkeypair点击下载 - Android证书文件准备
文件路径:Android/build/target/product/security,包括platform.pk8和platform.x509.pem
二、步骤
1.生成keystore文件
- 将keytool-importkeypair、platform.pk8和platform.x509.pem文件放在同一个目录下,执行如下命令,会生成platform.keystore文件:
sh keytool-importkeypair -k ./platform.keystore -p android -pk8 platform.pk8 -cert platform.x509.pem -alias platform
- -p 表示新生成的keystore的密码是什么,这里为android
- -pk8 表示要导入的pk8文件的名称,可以包括路径,pk8文件用来保存private key的,是个私钥文件。
- -cert 表示要导入的证书文件,和pk8文件在同一个目录,pem这种文件就是一个X.509的数字证书,里面有用户的公钥等信息,是用来解密的,这种文 件格式里面不仅可以存储数字证书,还能存各种key。(有兴趣的可以点击此了解一下)
- -alias 表示给生成的platform.keystore取一个别名,这个名字只有我们在签名的时候才用的到,这里我们生成的文件名是platform。这个名字,可以随便取,但是你自己一定要记住。
2.AndroidManifest.xml修改
- AndroidManifest.xml中添加共享系统进程属性,如下:
android:sharedUserId="android.uid.system"
android:sharedUserId="android.uid.shared"
android:sharedUserId="android.media"
- 根据自己需求添加,因为我们测试验证用的是platform的,所以在xml中添加的是android:sharedUserId="android.uid.system"。
3.AndroidStudio添加keystore
-
添加keystore,打包apk
-
选择第二个选项,APK
-
两个密码和alias就是我们之前用keytool-importkeypair命令生成的,我这边使用的比较简单的密码“android”,alias为platform
-
选择打包的位置和选择版本,是debug还是release版本,我测试的时候选择的是release,下面的两个选项也要打勾,最后就打包成apk了。
-
如果要在run app的时候系统签名也可以用的话,还需要做一些措施,设置run app的时候的系统签名
-
添加keystore文件
-
修改Build Types,选择release,因为我们之前打包就是选择的release,需要保持一致。
-
设置build Variants,这个选项在android studio的左下角,选择release之后,就可以运行了。
三、注意点
- 一定要版本要一致,要选release全部选release,以上选项中不要去选debug的,不然一旦不一致,去安装,肯定会安装错误,错误之后必须把app的内容全部删除干净才能重新安装apk,这个是一件很麻烦的事情。