当前位置: 移动技术网 > IT编程>移动开发>Android > Android7.0实现开机后台安装应用----rc文件的使用及权限问题

Android7.0实现开机后台安装应用----rc文件的使用及权限问题

2018年09月17日  | 移动技术网IT编程  | 我要评论

天堂蒜薹之歌,钉子精神,甲醛检测方法

需求

每次开机之后,后台自动安装一个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来一条条的加上权限。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网