Android 使用 platform key 给apk签名

如果使用Android Studio对代码进行make project后,将输出的app-debug.apk部署到手机/system/app下,虽然该apk能作为系统 app 自动安装并无法删除,但他在 selinux 中属于 u:r:untrusted_app:s0标签(域),只有访问 ASEC、SD卡、TCP/UDP socket、PTY的权限,且受制于neverallow规则的限制,在源码中无法对其开放驱动节点访问的权限。
若要在seLinux开放app访问特定的驱动节点,我们需要将app进行platform_app签名:

  • 将xxx.apk文件放到aosp根目录,在aosp根目录执行以下命令:
java -Djava.library.path="out/host/linux-x86/lib64" -jar out/host/linux-x86/framework/signapk.jar build/target/product/security/platform.x509.pem build/target/product/security/platform.pk8 xxx.apk xxx-signed.apk

签名后安装至Android机器中,现其在SELinux中的标签(域)为:u:r:platform_app:s0

参考文献

  [1] lei7143. O apk 签名[EB/OL].CSDN博客,2018.06.01

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值