|
吾爱游客
发表于 2023-3-16 16:04
1、申 请 I D:longzhiye
2、个人邮箱:longzhiye163@163.com
3、原创技术文章
博客地址:https://longzhiye.gitee.io
Android系统定制APP开发_如何对应用进行系统签名
前言
当项目开发需要使用系统级别权限或frame层某些api时,普通应用是无法使用的,需要在AndroidManifest中配置sharedUserId:
AndroidManifest.xml中的android:sharedUserId=”android.uid.system”,代表的意思是和系统相同的uid,可以拥有修改系统时间,文件操作等权限。
1.制作Android Studio可以使用的jks文件
1.1 下载keytool-importkeypair
链接: https://download.csdn.net/download/u010345983/87453083
1.2 将keytool-importkeypair文件拷贝到platform签名所在目录
Android原生的签名会区分user和userdebug,配置目录分别如下:
(1)user的签名配置在:build\target\product\security\release
(2)userdebug的签名配置在:build\target\product\security
签名文件在Android源码的位置如下
build/target/product/security/platform.pk8
build/target/product/security/platform.x509.pem
其中,.pk8文件为私钥,.x509.pem文件为公钥
1.3 执行命令生成jks文件
./keytool-importkeypair -k longzhiye.jks -p pwd123 -pk8 platform.pk8 -cert platform.x509.pem -alias longzhiye
-k:生成的jks密钥文件
-p:密码
-alias:密钥别名
2.将上述生成的jks文件填到AndroidStudio的build.gradle文件中
在工程主模块的 \app\build.gradle文件中添加 signingConfigs 签名配置信息
android {
defaultConfig {
...
}
signingConfigs {
release {
storeFile file("./longzhiye.jks")
keyAlias 'longzhiye'
keyPassword 'pwd123'
storePassword 'pwd123'
v2SigningEnabled true
}
debug {
storeFile file("./longzhiye.jks")
keyAlias 'longzhiye'
keyPassword 'pwd123'
storePassword 'pwd123'
v2SigningEnabled true
}
}
buildTypes {
...
}
}
构建脚本配置完成后,使用Android Studio执行指定的构建时,就会按照我们写好的脚本信息生成对应签名的apk。
3.密钥安全性
为了保障密钥的安全, 不建议将密钥文件上传至代码管理平台,也不建议将密钥文件的别名、密码直接以明文的方式写到build.gradle中。
|
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|