如何将应用安装到/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
總結
以上是生活随笔為你收集整理的如何将应用安装到/system/app下的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PHP代码优化的细节
- 下一篇: 基于WDF的PCI/PCIe接口卡Win