首页 > 编程知识 正文

安卓原生系统设置apk,安卓keystore生成工具

时间:2023-05-05 10:27:08 阅读:61817 作者:189

在漫长的安卓发展生涯中,不可避免地需要实现某个系统APP应用程序的系统功能。 例如,appstore的静默安装、静默卸载这两个功能要求app的权限,app必须是系统级的app应用。 每个制造商的定制都不同,权限的定义也不同。 一些制造商对app的权限级别可以由安装包的路径确定。 例如,制造商可以定制app,以便只要app的apk安装在系统目录/system/app/下或/system/priv-app/下,就将其视为系统级app 他们继承了Android本机批准的,系统级APP应用程序不在AndroidManifest.xml中注册Android 3360 shared userid=' Android.uid.system '

当然,也有制造商不这么认为。 他们正在更详细地设置APP应用的权限。 在/system/app/pass上的APP应用程序处于权限级别,在/system/priv-app/上更高级别,在清单文件中配置了Android 3360共享用户id='的问题是哪个例如,要在/system/app/或/system/priv-app/路径上安装APP应用程序,请先超级用户,然后再远程安装计算机。 然后,手动将apk推送到/system/app/或/system/priv-app/路径,重新启动计算机,然后使用Android的PMS自己的管理机制将系统路径中的所有apk推送到

那么,只有配置sharedUserId了。 但是,这条路也有条件。 这意味着,在app部署了sharedUserId之后,您创建的apk无法直接安装在计算机上。 为什么会这样呢? 可以通过安装错误的指示得到答案。 图:

图中的install错误消息清楚地说明了apk安装失败的原因。 因为sharedUserId。 解决方案是,必须在配置了sharedUserId的apk上对系统签名文件进行签名。 这也是本文的重点,是签名文件的生成。

什么是签名文件?

从APP应用层来看,安卓的签名文件只有jks和keystore两种

在代码中使用:

jsk:

signing configs { debug } key alias ' key0'//别名keyPassword '123456' //密码storefilefile (' ./sign apk/gifted cat.) 密码} release { key alias ' key0' key password ' 123456 ' storefilefile (./sign apk/gif ification

signing configs { debug } key alias ' key0'//别名keyPassword 'desaysv' //密码storefilefile('./signapk/giftedcat.keysted签名文件的本地相对路径storePassword 'desaysv' //密码} release { key alias ' key0' key password ' desay SV ' stost 各属性的意思是什么? 虽然在这篇文章中不怎么说明,但是感兴趣的人可以试着学习一下这个博客。 Android签名机制签名过程详细信息(一) _fengjinghuanian博客-CSDN博客_android签名机制

那么jks是从哪里来的呢?

其实安卓只有两个原始的签名文件。 是platform.pk8和platform.x509.pem。 jks是从这两个文件转换而来的。 转换需要一个工具keytool-importkeypair。 工具下载位置:

githu B- getfatday/keytool -导入密钥pair : a shell脚本toimportkey/certificatepairsintoanexistingjavakeystore

使用方法:

找到的系统的platform.pk8和platform.x509.pem将在keytool-import密钥支付目录下运行

./keytool-import密钥pair-kgiftedcat.jks-p 123456-pk8 platform.pk8-cert platform.x509.PEM-alias key 0命令的属性

giftedcat.jks :输出的文件名

123456 :密码

platform.pk8:pk8的本地文件路径

platform.x509.pem:pem的本地文件路径

key0:签名的别名

platform.pk8和platform.x509.pem文件下载可在AndroidXref上获得。

http://androidxref.com/9.0.0_r3/

keystore来源:

和上面的jks一样,keystore的由来也来自platform.pk8和platform.x509.pem的转换。 转换方法仍然需要使用工具keytool-importkeypair来转换命令。

./keytool-import密钥pair-k./platform.keystore-p 123456-pk8 platform.pk8-cert platform.x509.PEM-alias key 0

其中的属性与jks相同

当然,jks和keystore之间也可以相互转换。

jks将转到keystore:

keytool -导入密钥系统- srckeystored :* *.jks-srcstoretypejks-deststoretypepkcs 12-dest keystore * *.p12

keytool-v-import keystore-srckeystored :* *.p12-srcstoretypepkcs 12-destkeystored 3360* *.keystore

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。