Android 应用安装到/system/app下

安卓的系统一般会有4个重要的分区:boot,system,cache,data。装在system区的就是系统应用(system app),data分区的是用户应用。应用程序都安装在/app子目录下。 
  不管是系统应用还是用户应用,安卓会建立缓存以加速应用的启动,该缓存是在/data/dalvik-cache下面。应用安装的越多,data分区可用的空间就越少。 
app一旦移动到system空间,就是系统应用了!

以下应用是可以移动到system分区的: 
1) 开机就要启动的程序,比如权限管理啊,Widget啊。 
2) 常常用到的程序,比如文件管理器。 
3) 一些不会有内存驻留的小程序,比如autostarts,SD Maid啊。

有一些应用是不适合移动到system空间的: 
1) 退出仍然会驻留内存的程序,因为这些程序一旦变成了system应用,杀进程的软件就拿他们没办法了。 
2) 应用程序内含lib库的,这个可以用压缩工具查看该apk,假如内部有lib文件夹的,里面有*.so文件的,那就说明他用到了这些lib。

移动方法: 
1) 将该apk先卸载,然后将apk文件拷贝到system/app下,修改权限,有必要的话,重启一下。这样做的好处是,该软件的缓存会在卸载是自动删除。 
2) 为防止有些应用卸载后数据丢失,可以不卸载,方法是:将apk拷贝到system/app下,然后删除data/app的apk,最后手动把/data/dalvik-cache/下该程序的缓存清除。 
3) 假如要移动的应用太多,可以进入recovery,清除一下dalvik-cache,让启动的时候自动再生成cache。

在 Android 中,如果要使用系统限制的权限(比如 android.permission.WRITE_SECURE_SETTINGS),我们需要把程序安装到 /system/app/ 下。 
一般手机/system目录是mount成只读的,所以我们需要重新mount成读写的 
下面以 test.apk 为例,演示这个操作。需要准备一台已经获得 Root 权限的手机。

1、通过 USB 连接手机和电脑。 
2、使用 adb 控制手机。

运行cmd显示命令行窗口,直接输入adb devices 即可查看设备(如果没有反应则说明失败)。 
adb push test.apk /system/app 将test.app推到/system/app目录下 
如果出现adb: error: failed to copy ‘test.apk’ to ‘/system/app’: remote Read-only file 
则使用 adb remount 重新挂在系统进行读写 
然后在adb push test.apk /system/app 
成功之后拔掉数据线,重启手机,则test.apk安装完成
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值