android system app 开发

将应用开发成系统应用,有如下这么几种情况:
1、只是想把 apk 放在 /system/app or /system/priv-app 下,不需要额外的权限。直接找个文件管理器把 apk 文件复制到对应的目录中去,就可以了。
2、在保证 apk 是系统应用的基础上,还想利用系统签名权限做一些事情。这也是我选择的方法。针对这种情况,你需要找到你上传 apk 的系统在编译的时候生成的签名文件。具体在 /android/system/build/target/product/security 中,找到 platform.pk8 以及 platform.x509.pem,复制出来。然后编译系统过程中生成的文件中找到 signapk.jar 文件,也复制出来。这个 signapk.jar 是通用的,找不到可以直接上网下载一个。之后,按照文末提供的脚本以及注释,就可以完成系统应用的安装以及对应系统签名权限的调用了。
3、编译系统的时候直接把你的 apk 编译进去。这种方式我也不太清楚,具体步骤方法可以自行百度。因为我们的 apk 还不是最终版,还需要不断的开发和调试,因此也就没有选择这种方法。

安装系统应用脚本如下:

首先,将 android studio 生成的 unsigned(未签名)的 apk 复制到包含证书以及相关文件的目录下。

cp /path-to-your-out-dir-of-project/app-release-unsigned.apk /target-dir/unsigned.apk

签名

java -jar signapk.jar ./platform.x509.pem ./platform.pk8 unsigned.apk signed.apk

adb root and remount。root 是往 /system/app or /system/priv-app 写入文件所必须的。 remount 会把 android 的文件系统挂载成可读写的。这两个条件缺一不可。

adb root

adb remount

修改 apk 的权限。

chmod 777 ./signed.apk

把 apk 放进去,这步可能很耗时,耐心等待即可,我push一个10M的apk居然花费了半小时,具体原因位置,再次安装就没事了

adb push ./signed.apk /system/priv-app/ourtest.apk

重启。

adb reboot

最近发现,可以不通过重启(毕竟测试次数一多,就会发现重启也是一个非常耗费时间的调试平静),直接杀掉 app 对应的进程就可以达到重启的效果。

adb shell am force-stop your.package.name

具体的一些adb命令可以看这里

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值