天堂蒜薹之歌,钉子精神,甲醛检测方法
需求
每次开机之后,后台自动安装一个apk。(实现方法可能有多种,这里只记录我用的)
需求分析
我的思路是写一个脚本放到中,然后每次开机的时候在rc文件中启动这个脚本服务。
具体实现步骤
第一,将所需要安装的apk文件保存在系统,我这里是放到system/etc/目录下面了,放在system分区下有个好处就是不会被用户删掉,当然不能放太多无意义的东西,否则你的img会变得很大。可以通过mk中的product_copy_file进行操作:
product_copy_file=xxx/xx.apk:system/etc/xx.apk
第二,将安装脚本写好编进系统中去,这个脚本文件很简单,如下:
和上面copy apk文件一样,将脚本文件copy到system/bin/目录下,如下:
product_copy_file=xxx/install_app.sh:system/bin/install_app.sh
第三,在rc文件中启动这个脚本服务,我们在rc文件中声明这个服务:
service service_install /system/bin/install_app.sh user root group root disabled oneshot
这里简单说一下上面代码的意思,
第一个service表示声明服务,后面的service_install指的是service的名字,后面跟的是文件路径;
disable和oneshot表示该服务只执行一次,运行完就设置为禁用。
既然是开机的时候执行,那么就需要一个触发点,这里用到rc里面的onproperty语法,sys.boot_completed=1,如下:
on property:sys.boot_completed=1 start service_install
然后编译烧写整个系统就行。
遇到的问题
烧录开机之后发现服务并没有起来,查看kernel的log发现是权限问题。为了确认这个问题,我尝试把系统selinux关掉,发现服务是能正常起来的。
解决问题
我们需要通过log来一条条的加上权限。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Android apk 项目一键打包并上传到蒲公英的实现方法
Android 自定义LineLayout实现满屏任意拖动功能的示例代码
android 限制某个操作每天只能操作指定的次数(示例代码详解)
Android 集成 google 登录并获取性别等隐私信息的实现代码
网友评论