文章目录
方法一:系统启动时,通过init.rc来运行脚本,脚本通过pm安装预装软件
在init.rc中等待启动启动完成后运行脚本
service install /system/bin/install.sh
class main
disabled
oneshot
on property:sys.boot_completed=1
start install
通过shell调用pm安装apk
#!/system/bin/sh
path="/system/bin/apk/test.apk"
packageName="com.android.test"
pm list package | grep $packageName
if [ $? -eq 0 ]; then
return 0
fi
pm install $path
该脚本在boot_completed=1
后会被调用,通过pm检测package是否已经安装,然后安装apk,实现预装。
方法二:直接将apk放入/system/app
下
- 将apk放进
/system/bin
下面,然后打包出镜像即可。 - 注意apk直接放在
/system/bin
下面,不需要新建子目录存放,因为有子目录的应用都必须子啊packages.xml里面指定权限、类型等,如果放进子目录而没有修改对应的package.xml的内容,则可能导致系统无法启动。