Android预安装内置应用可卸载实现

Android系统量产版本编译都是user版本或者叫release版本,放在system/app目录下的apk是不允许终端用户手动删除的。
要实现能够让手动删除,下面讨论一种方法就是先将预备安装的应用放/system目录下某一个目录中如preloadapp目录,
在首次开机的时候执行一个脚本如preloadapp.sh将该目录的应用拷贝到data/app目录即可

将要预安装的apk放入system/preloadapp目录,第一次开机的时候执行preloadapp.sh脚本
将preloadapp目录的apk拷贝到data/app目录中,然后再开始安装apk,这样安装的apk就能够被手动删除,恢复出厂设置
删除data/app目录的apk,而system/preloadapp目录的apk可以保留。


缺点:同一个apk占用系统两份空间,system/preloadapp 和data/app

1>preload脚本 

  1. =========================================================================
  2.     #!/system/xbin/busybox sh
  3.     PRELOAD_DEST=/data/app
  4.     PRELOAD_FLAG=${PRELOAD_DEST}/.preloadapp
  5.     PRELOAD_SOURCE=/system/preloadapp

  6.     if [ ! -d ${PRELOAD_DEST} ]
  7.     then
  8.         mkdir -p ${PRELOAD_DEST}
  9.     fi

  10.     if [ ! -f ${PRELOAD_FLAG} ]
  11.     then
  12.         cp -f ${PRELOAD_SOURCE}/* ${PRELOAD_DEST}
  13.         echo "abcd" > ${PRELOAD_FLAG}
  14.     fi
  15.     =========================================================================

2>首次开机的时候执行脚本

  1. device/xxx/xxxx/init.xxxx.rc中增加如下代码,让android系统启动的时候执行preloadapp.sh脚本
  2.     =========================================================================
  3.         service preloadapp /system/bin/logwrapper /system/xbin/preloadapp.sh
  4.             user system
  5.             class main
  6.             disabled
  7.             oneshot
  8.     =========================================================================


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值