如何将应用安装到/system/app下

  安卓的系统一般会有4个重要的分区:boot,system,cache,data。system分区存放的是系统应用(system app)和系统所需要的库文件(lib/*.so),而大家平时安装的软件是装到data分区(用户区)的。装在system区的就是系统应用,data分区的是用户应用。应用程序都安装在/app子目录下。

  但是,不管是系统应用还是用户应用,安卓会建立缓存以加速应用的启动,该缓存是在/data/dalvik-cache下面。注意了,是在data分区上的,所以应用安装的越多,data分区可用的空间就越少。

  一般ROOT之后,我们会删除/卸载部分系统的应用,从而system分区就空出了部分的空间,尤其是定制机,删了系统应用之后,会空出多达60M的空间。假如本身机器的ROM比较小,data分区不够用的话,就最好把部分的app移动到system空间,当然一旦移动到了system分区,就是系统应用了!

 

好,下面介绍哪些应用是可以移动到system分区的:

1) 开机就要启动的程序,比如权限管理啊,Widget啊。

2) 常常用到的程序,比如文件管理器。

3) 一些不会有内存驻留的小程序,比如autostarts,SD Maid啊。

 

有一些应用是不适合移动到system空间的:

1) 退出仍然会驻留内存的程序(比如数米基金宝),因为这些程序一旦变成了system应用,杀进程的软件就拿他们没办法了。

2) 应用程序内含lib库的,这个可以用压缩工具(windows下的zip工具、安卓下的ES文件管理器、RootExplorer)查看该apk,假如内部有lib文件夹的,里面有*.so文件的,那就说明他用到了这些lib。当然,若硬要移动到system空间也是可以的,只要把lib/*.so拷贝到system/lib下即可,但是本人觉得一是会造成重复,二是将来维护起来比较麻烦。不过有一法,可以在system/app下面建立文件夹,把*.so拷贝到该文件夹下,然后通过链接文件的方式将其拷贝到lib下。(这个我没试过)

 

移动方法:

1) 将该apk先卸载,然后将apk文件拷贝到system/app下,修改权限,有必要的话,重启一下。这样做的好处是,该软件的缓存会在卸载是自动删除。

2) 为防止有些应用卸载后数据丢失,可以不卸载,方法是:将apk拷贝到system/app下,然后删除data/app的apk,最后手动把/data/dalvik-cache/下该程序的缓存清除。

3) 假如要移动的应用太多,可以进入recovery,清除一下dalvik-cache,让启动的时候自动再生成cache。

 

 

附:
1. 查看各个分区的使用情况:http://blog.csdn.net/puncha/article/details/7670727


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值