如何将应用安装到/system/app下
安卓的系統(tǒng)一般會(huì)有4個(gè)重要的分區(qū):boot,system,cache,data。system分區(qū)存放的是系統(tǒng)應(yīng)用(system app)和系統(tǒng)所需要的庫(kù)文件(lib/*.so),而大家平時(shí)安裝的軟件是裝到data分區(qū)(用戶區(qū))的。裝在system區(qū)的就是系統(tǒng)應(yīng)用,data分區(qū)的是用戶應(yīng)用。應(yīng)用程序都安裝在/app子目錄下。
但是,不管是系統(tǒng)應(yīng)用還是用戶應(yīng)用,安卓會(huì)建立緩存以加速應(yīng)用的啟動(dòng),該緩存是在/data/dalvik-cache下面。注意了,是在data分區(qū)上的,所以應(yīng)用安裝的越多,data分區(qū)可用的空間就越少。
一般ROOT之后,我們會(huì)刪除/卸載部分系統(tǒng)的應(yīng)用,從而system分區(qū)就空出了部分的空間,尤其是定制機(jī),刪了系統(tǒng)應(yīng)用之后,會(huì)空出多達(dá)60M的空間。假如本身機(jī)器的ROM比較小,data分區(qū)不夠用的話,就最好把部分的app移動(dòng)到system空間,當(dāng)然一旦移動(dòng)到了system分區(qū),就是系統(tǒng)應(yīng)用了!
好,下面介紹哪些應(yīng)用是可以移動(dòng)到system分區(qū)的:
1)
開(kāi)機(jī)就要啟動(dòng)的程序,比如權(quán)限管理啊,Widget啊。
2) 常常用到的程序,比如文件管理器。
3) 一些不會(huì)有內(nèi)存駐留的小程序,比如autostarts,SD Maid啊。
有一些應(yīng)用是不適合移動(dòng)到system空間的:
1) 退出仍然會(huì)駐留內(nèi)存的程序(比如數(shù)米基金寶),因?yàn)檫@些程序一旦變成了system應(yīng)用,殺進(jìn)程的軟件就拿他們沒(méi)辦法了。
2) 應(yīng)用程序內(nèi)含lib庫(kù)的,這個(gè)可以用壓縮工具(windows下的zip工具、安卓下的ES文件管理器、RootExplorer)查看該apk,假如內(nèi)部有l(wèi)ib文件夾的,里面有*.so文件的,那就說(shuō)明他用到了這些lib。當(dāng)然,若硬要移動(dòng)到system空間也是可以的,只要把lib/*.so拷貝到system/lib下即可,但是本人覺(jué)得一是會(huì)造成重復(fù),二是將來(lái)維護(hù)起來(lái)比較麻煩。不過(guò)有一法,可以在system/app下面建立文件夾,把*.so拷貝到該文件夾下,然后通過(guò)鏈接文件的方式將其拷貝到lib下。(這個(gè)我沒(méi)試過(guò))
移動(dòng)方法:
1) 將該apk先卸載,然后將apk文件拷貝到system/app下,修改權(quán)限,有必要的話,重啟一下。這樣做的好處是,該軟件的緩存會(huì)在卸載是自動(dòng)刪除。
2) 為防止有些應(yīng)用卸載后數(shù)據(jù)丟失,可以不卸載,方法是:將apk拷貝到system/app下,然后刪除data/app的apk,最后手動(dòng)把/data/dalvik-cache/下該程序的緩存清除。
3) 假如要移動(dòng)的應(yīng)用太多,可以進(jìn)入recovery,清除一下dalvik-cache,讓啟動(dòng)的時(shí)候自動(dòng)再生成cache。
附:
1. 查看各個(gè)分區(qū)的使用情況:http://blog.csdn.net/puncha/article/details/7670727
總結(jié)
以上是生活随笔為你收集整理的如何将应用安装到/system/app下的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: PHP代码优化的细节
- 下一篇: 基于WDF的PCI/PCIe接口卡Win