自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

簡(jiǎn)單易懂的Android ROM定制與修改教程

移動(dòng)開發(fā) Android
Android以其高度開放和可定制性著稱,不但是手機(jī)廠商們可以定制品牌系統(tǒng),連我們用戶也可以對(duì)系統(tǒng)進(jìn)行深度定制,打造屬于我們自己的ROM。這里是一篇介紹定制與修改Android ROM的教程。

每個(gè)人對(duì)手機(jī)都有不同的要求,這里我想談?wù)勑薷腞OM的方法。玩Android手機(jī)可分為四個(gè)層次:

1。最高境界:像大神這樣的,對(duì)Android系統(tǒng)十分熟悉,能夠編寫系統(tǒng)代碼。

2。大大境界:能夠修改代碼和編譯,需要熟悉linux系統(tǒng)和具備編程知識(shí)。

3。高手境界:能夠在非代碼級(jí)修改ROM,美化ROM。

4。普通境界:會(huì)玩,會(huì)設(shè)置等。

前兩個(gè)層次要花大力氣學(xué)習(xí),我們大部分人可以通過努力達(dá)到第三層。修改ROM大致可分為:精簡(jiǎn)、增補(bǔ)、美化三類,這里主要討論的是精簡(jiǎn)和增補(bǔ)兩個(gè)方面。

一.首先來看看ROM中到底有些什么

用WinRAR打開刷機(jī)包后可以看到幾個(gè)目錄,下面列出了和我們有關(guān)的幾個(gè)目錄和說明:

dev_data/apps/ : 系統(tǒng)程序的apk文件目錄,相當(dāng)于刷機(jī)后 "/data/app_s/",這里的程序刷機(jī)后不可卸載。

dev_data/app/  : 用戶程序apk文件目錄,相當(dāng)于刷機(jī)后  "/data/app/",這里的程序刷機(jī)后可卸載。(10月28日以后的版本中才有,以前的版本大家可以自己加這個(gè)目錄)

META-INF/com/google/android/ : 刷機(jī)腳本文件。

system/etc/  :存放了一些配置文件。

system/etc/permissions/ : 和軟件權(quán)限有關(guān),部分補(bǔ)丁需要在這個(gè)目錄中添加文件。

system/lib/ : 系統(tǒng)程序的庫(kù)文件存放位置。

二.再來認(rèn)識(shí)一下刷機(jī)腳本文件

用recovery刷機(jī)時(shí),刷機(jī)過程由腳本文件控制。  腳本文件就是壓縮包中 META-INF\com\google\android 目錄下的 update-script文件,用文本編輯器可以打開。

腳本文件中有這么幾條語句是我們關(guān)心的:

(1)  show_progress 0.1 0

顯示進(jìn)度條         

這是用來顯示刷機(jī)進(jìn)度條的,前面的0.1表示進(jìn)度條的位置,可以改為別的數(shù)值(小于1)。后面的數(shù)字不清楚是什么含義,大體上除了最后一條為10,其他都為0。有些ROM在刷機(jī)時(shí)會(huì)出現(xiàn)刷機(jī)完成了進(jìn)度條才走到一半多點(diǎn),大家可以試試把最后一句改為 show_progress 0.8 10,進(jìn)度條就可以走到底了。

(2)幾個(gè)關(guān)鍵字

  •     "SYSTEM:" 代表刷機(jī)后的系統(tǒng)目錄 = "/system/"
  •     "INTERNAL:" 代表刷機(jī)后的 /data 目錄 = "/data/"
  •     "PACKAGE:" 代表壓縮包的根目錄

例如 "SYSTEM:etc/ " 相當(dāng)于刷機(jī)后的 "/system/etc/" 目錄PACKAGE:dev_data" 相當(dāng)于壓縮包中的 dev_data 目錄

(3) copy_dir PACKAGE:dev_data INTERNAL:

copy_dir 是用來復(fù)制目錄的,前一個(gè)參數(shù)是要復(fù)制的目錄,后一個(gè)參數(shù)是復(fù)制到那里。例如:

copy_dir PACKAGE:dev_data INTERNAL:

是用來把ROM壓縮包中dev_data目錄中的東西復(fù)制到刷機(jī)后的"/data/"目錄下        

(4)set_perm_recursive 0 2000 0755 0755 SYSTEM:bin

設(shè)置目錄或文件權(quán)限的,使用方法和linux中設(shè)置權(quán)限的方法類似。

(5)delete SYSTEM:app/YouTube.apk

刪除文件,這個(gè)一般用不到,要?jiǎng)h除的話,直接刪就是了。

好了,可以動(dòng)手精簡(jiǎn)和增加程序了:

三.精簡(jiǎn)系統(tǒng)程序      

所謂精簡(jiǎn)實(shí)際上就是刪除系統(tǒng)程序,我們用不到的那些程序可以刪除掉。刪除這些程序好處在于:

  • 有些東西是我們用不到的,顯示在程序列表中很煩人,如果這樣的程序過多也會(huì)導(dǎo)致打開程序列表過慢。
  • 有些程序啟動(dòng)后會(huì)占用內(nèi)存而我們又用不到。例如,短信攔截等。
  • 有些程序不想用原ROM中自帶的,想換個(gè)別的,例如不喜歡ADW,改用LAUNCH PRO等。

精簡(jiǎn)的方法很簡(jiǎn)單,用WinRAR打開ROM,進(jìn)入dev_data\apps中找到不要的程序,刪除。那些程序可以精簡(jiǎn),這個(gè)各個(gè)機(jī)型一般都有精簡(jiǎn)列表,網(wǎng)上隨便搜索!                                           

四.添加程序

添加程序有兩個(gè)方法,一是把程序添加為系統(tǒng)程序,二是添加為用戶程序。 把程序添加為系統(tǒng)程序的好處在于執(zhí)行速度快,缺點(diǎn)是不能直接卸載,只有通過RE等工具刪除。其實(shí)用RE直接刪除系統(tǒng)程序APK文件時(shí)并非都卸載干凈了,不信大家可以看看/data/data/這個(gè)目錄,每個(gè)程序都對(duì)應(yīng)了一個(gè)目標(biāo),其目錄名和程序包的名稱相同(不是XXX.APK這個(gè)XXX)。

1.添加系統(tǒng)程序:

添加系統(tǒng)程序方法最簡(jiǎn)單:       

第一步,用WinRAR打開ROM壓縮文件,進(jìn)入 "\dev_data\app_s" 這個(gè)目錄,把要添加的程序的APK文件復(fù)制進(jìn)去。

第二步,用WinRAR打開要添加進(jìn)去的APK文件看看“\lib\armeabi”目錄中是否有.so結(jié)尾的文件,它們是程序運(yùn)行時(shí)需要用到的庫(kù)文件,有的話把他們復(fù)制到壓縮包中的“system/lib/”目錄中。有些童鞋在修改ROM的時(shí)候添加的程序無法執(zhí)行,大多屬于這個(gè)情況。例如新版本的谷歌拼音輸入法。

2.添加用戶程序:

添加用戶程序稍微麻煩點(diǎn),但是刷機(jī)后可直接卸載。如果用的是10月28日以后的ROM,直接把a(bǔ)pk拖入"dev_data/app/"目錄中。這一步很簡(jiǎn)單,麻煩的是apk中有庫(kù)文件的情況。簡(jiǎn)單處理方法同添加系統(tǒng)程序中的第2步,這種方法的缺點(diǎn)是卸載時(shí)庫(kù)文件還會(huì)保留在“system/lib/”中,好在大多數(shù)程序都沒有庫(kù)文件,少數(shù)程序保留下來的庫(kù)文件并無大礙。高級(jí)點(diǎn)的方法是通過寫腳本進(jìn)行安裝。

10月28日以前的ROM在“dev_data/”中沒有app這個(gè)目錄,大家可以自己建立(winRAR中點(diǎn)擊右鍵,選創(chuàng)建一個(gè)新文件夾),建立好目錄后要在刷機(jī)腳本中設(shè)置目錄屬性:

在刷機(jī)腳本中找到這一段:

copy_dir ACKAGE:dev_dataINTERNAL: set_perm 1000 1000 0771 INTERNAL:app_s

在其后加上這一句:

set_perm 1000 1000 0771 INTERNAL:app

其中第一句是把ROM中dev_data目錄中的所有東東復(fù)制到/data目錄下,第二句是設(shè)置 app_s的權(quán)限。我們加的那一句是設(shè)置app的權(quán)限接下來可以修補(bǔ),調(diào)整ROM了。

五.firstboot腳本

要對(duì)ROM進(jìn)行高級(jí)點(diǎn)的設(shè)置,可以利用firstboot.sh腳本。firstboot.sh腳本在ROM中的dev_data目錄中。腳本中的代碼是在刷完機(jī)后第一次啟動(dòng)時(shí)執(zhí)行的,利用它可以對(duì)系統(tǒng)進(jìn)行設(shè)置,安裝APK等工作??纯磍iudidi1028rom中的腳本片段:

  1. # System defaultsettings/system/xbin/sqlite3  
  2. $DATABASE "INSERT INTO system (name, value) VALUES ('trackball_wake_screen', 1);" /system/xbin/sqlite3  
  3. $DATABASE "INSERT INTO system (name, value) VALUES('trackball_unlock_screen', 1);" /system/xbin/sqlite3  
  4. $DATABASE "INSERT INTO system (name, value) VALUES ('lock_home_in_memory', 1);" 

 我想大家應(yīng)該可以猜出這三句代碼的作用了吧。至于腳本這么寫,不要來問我,我也不熟,大家可以共同研究。在腳本中可以使用rm,mv等命令,用它可以直接把某些配置文件覆蓋掉。例如:

busybox rm /system/etc/某文件busybox mv /system/etc/某文件

當(dāng)然,如果修改的是系統(tǒng)文件,先要取得權(quán)限:

busybox mount -o remount,rw /system 

之后再改為只讀 :

busybox mount -o remount,ro /system

六.ROM常見的系統(tǒng)配置文件

修改這些文件可以調(diào)整系統(tǒng)設(shè)置:

 1。\system\etc\spn-conf.xml:顯示營(yíng)運(yùn)商的。例如:

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <spnOverrides> 
  3.     <spnspnOverridenumericspnOverridenumeric="46001"spn="中國(guó)聯(lián)通"/> 
  4.     <spnspnOverridenumericspnOverridenumeric="46000"spn="中國(guó)移動(dòng)/> 
  5.     <spnspnOverridenumericspnOverridenumeric="46002"spn="中國(guó)移動(dòng)"/> 
  6. </spnOverrides> 

如果下載的ROM中顯示的是英文,可以試著修改這個(gè)文件。

2。\system\etc\gps.conf:和GPS搜星相關(guān),所謂提高搜星速度就是修改這個(gè)文件了。

   方法:把文件中 NTP_SERVER=XXXXX.pool.ntp.org改為NTP_SERVER=cn.pool.ntp.org。我試過,這個(gè)網(wǎng)站ping的速度的確比原始設(shè)置中的那個(gè)要快一倍以上。

3。\system\bin\rc:這個(gè)大家應(yīng)該很熟悉了,用來設(shè)置Swap,Compcache之類的。

(1)設(shè)置SWAP

進(jìn)入文件后找到

####################

###### Swap ########

####################

其后的代碼是和開啟Swap有關(guān)的,例如:

SWAPNUM=`fdisk -l /dev/block/mmcblk1|grep swap|sed -e 's/ .*//g'`if [ -n "$SWAPNUM" ];thencho 60 > /proc/sys/vm/swappinessswapon $SWAPNUMfi

在每行前面加#注釋掉后就可以不開機(jī)啟動(dòng)swap了。

要改swappiness的大小可以該第三行中的60這個(gè)數(shù)字。

設(shè)置 Compcache大家可以自己試試

(2)修改內(nèi)存管理參數(shù)

 在rc文件中加入這一行:

echo "1536,1536,3072,1536,10240,12800" >/sys/module/lowmemorykiller/parameters/minfree

其中的數(shù)字從左到右為:前臺(tái)進(jìn)程、可見進(jìn)程、次 要服務(wù)、后臺(tái)服務(wù)、內(nèi)容供應(yīng)節(jié)點(diǎn)、空進(jìn)程,其中的數(shù)值的單位是4k,也就是說1536 : 4k*1536=6144k=6M

  4。 \system\etc\apns-conf.xml:和網(wǎng)絡(luò)接入點(diǎn)設(shè)置有關(guān)。

例如,和移動(dòng)聯(lián)通有關(guān)的設(shè)置:

  1. <apn carrier="中國(guó)移動(dòng) (Internet)" apn="cmnet" mcc="460" mnc="00" type="default,supl" /> 
  2. <apn carrier="中國(guó)移動(dòng) (WAP)" apn="cmwap" proxy="10.0.0.172" port="80" mcc="460" mnc="00" type="default,supl" /> 
  3. <apn carrier="中國(guó)移動(dòng) (MMS)" apn="cmwap" mmsc="http://mmsc.monternet.com" mmsproxy="10.0.0.172" mmsport="80" mcc="460" mnc="00" type="mms" /> 
  4. <apn carrier="中國(guó)聯(lián)通 (Internet)" apn="3gnet" mcc="460" mnc="01" type="default,supl" /> 
  5. <apn carrier="中國(guó)聯(lián)通 (WAP)" apn="3gwap" proxy="10.0.0.172" port="80" mcc="460" mnc="01" type="default,supl" /> 
  6. <apn carrier="中國(guó)聯(lián)通 (MMS)" apn="3gwap" mmsc="http://mmsc.myuni.com.cn" mmsproxy="10.0.0.172" mmsport="80" mcc="460" mnc="01" type="mms" /> 
  7. <apn carrier="中國(guó)移動(dòng) (Internet)" apn="cmnet" mcc="460" mnc="02" type="default,supl" /> 
  8. <apn carrier="中國(guó)移動(dòng) (WAP)" apn="cmwap" proxy="10.0.0.172" port="80" mcc="460" mnc="02" type="default,supl" /> 
  9. <apn carrier="中國(guó)移動(dòng) (MMS)" apn="cmwap" mmsc="http://mmsc.monternet.com" mmsproxy="10.0.0.172" mmsport="80" mcc="460" mnc="02" type="mms" /> 

如果ROM中沒有自帶apn設(shè)置,可以在這個(gè)文件中加入,如果ROM中顯示的接入點(diǎn)名稱不是中文也可以通過修改這個(gè)來實(shí)現(xiàn)

注意

1.  修改ROM時(shí)最好不要解壓縮,直接在WINRAR中操作,因?yàn)镽OM應(yīng)該是在Linux中壓縮的,壓縮格式可能會(huì)和在weindows下直接用winRAR壓縮出來的不同。

2.   包中的文件不要有中文文件名。

3.   刷機(jī)前一定要備份,修改的ROM要是有什么地方弄錯(cuò)了很容易進(jìn)不了系統(tǒng)。

責(zé)任編輯:徐川 來源: OSChina
相關(guān)推薦

2012-04-10 13:16:40

Android騰訊

2021-04-13 09:09:29

DevOps流程Docker

2014-07-17 11:36:27

Android Stu使用教程

2013-11-14 11:30:10

androidrom

2017-11-06 08:56:40

2020-06-08 10:50:58

前端TypeScript代碼

2010-02-07 10:35:12

Android代碼

2009-08-31 14:45:15

C#.NET多線程應(yīng)用

2013-08-02 10:14:53

移動(dòng)OS進(jìn)化定制ROM移動(dòng)市場(chǎng)

2010-06-21 10:02:32

2021-05-27 08:47:16

C語言C語言程序開發(fā)

2022-05-06 09:22:25

Go泛型

2014-05-22 14:15:45

Android系統(tǒng)定制小技巧

2013-01-09 17:16:41

Android開發(fā)Camera

2010-07-26 14:48:56

修改Telnet服務(wù)

2010-03-11 16:22:08

Python教程

2009-06-24 10:58:21

jQuery插件教程

2011-04-02 11:46:50

UI嵌入式開發(fā)

2014-07-21 09:51:10

AndroidResflux修改應(yīng)用

2019-01-24 15:50:06

區(qū)塊鏈數(shù)字貨幣比特幣
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)