綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[教程] Android平台ROM的定制及精簡教程【高級版】

  [複製連結] 查看: 51399|回覆: 36|好評: 10
跳轉到指定樓層
樓主
暗桌之光 | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2012-2-29 14:35

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
一、Android系統文件夾結構
一個完整的ROM根目錄會有以下幾個文件夾及文件:

data
META-IN
system
boot.img

系統目錄說明

1. 應用程式安裝目錄
1) 系統應用程式所在目錄
/system/app/*.apk
2)用戶安裝應用程式所在目錄
/data/app/*.apk
3) 注意:
a)在模擬器中,每重啟一次,/system/app/下的應用都會被還原,有時/data/app下也會被清除
b)若在/system/app和/data/app下有重名的應用,不一定會啟動哪一個,尤其是在adb install殺死正在執行的程式時,有時舊的就會被啟動
2.用戶數據所在目錄
/data/data/應用包名/shared_prefs 配置文件
/data/data/應用包名/databases/* 庫文件所在目錄
3. SD卡對應目錄
/sdcard/

而我們需要處理的只是兩個文件夾裡面的內容:
data/app –該文本夾裡的文件可以全刪,也可以自由添加自已所需安裝的應用軟體,刷機安裝後可以自由刪除。
system/app –在這個文件夾下的程式為系統默認的組件,可以看到都是以APK格式結尾的文件,但有些自製的ROM裡面還有和APK文件名對應的odex文件。我們主要是針對該文件夾裡的文件進行精簡,如果有odex文件的,刪除APK文件名時同時也刪除與其對應的odex文件。


雖然一般定制時只是對以上兩個文件夾裡的文件做相應的增減,但我們還是一起來瞭解system相應目錄相應文件的用途吧。(rom版本不同裡面的APK也會不一樣)
\\system\\app
\\system\\app\\AlarmClock.apk 鬧鐘
\\system\\app\\Browser.apk 瀏覽器
\\system\\app\\Bugreport.apk Bug報告
\\system\\app\\Calculator.apk 計算器
\\system\\app\\Calendar.apk 日曆
\\system\\app\\CalendarProvider.apk 日曆提供
\\system\\app\\Camera.apk 照相機
\\system\\app\\com.amazon.mp3.apk 亞馬遜音樂
\\system\\app\\Contacts.apk 聯繫人
\\system\\app\\DownloadProvider.apk 下載提供
\\system\\app\\DrmProvider.apk DRM數字版權提供
\\system\\app\\Email.apk 電子郵件客戶端
\\system\\app\\FieldTest.apk 測試程式
\\system\\app\\GDataFeedsProvider.apk GoogleData提供
\\system\\app\\Gmail.apk Gmail電子郵件
\\system\\app\\GmailProvider.apk Gmail提供
\\system\\app\\GoogleApps.apk Google程式包
\\system\\app\\GoogleSearch.apk 搜索工具
\\system\\app\\gtalkservice.apk GTalk服務
\\system\\app\\HTMLViewer.apk HTML查看器
\\system\\app\\HTCTwitter.apk 集成Twitter客戶端PEEP
\\system\\app\\IM.apk 即使通訊組件包含MSN、yahoo通
\\system\\app\\ImCredentialProvider.apk
\\system\\app\\ImProvider.apk
\\system\\app\\Launcher.apk 啟動加載器
\\system\\app\\HtcNaviPanel.apk 導航軟體
\\system\\app\\Maps.apk 電子地圖
\\system\\app\\MediaProvider.apk 多媒體播放提供
\\system\\app\\Mms.apk 簡訊、彩信
\\system\\app\\Music.apk 音樂播放器
\\system\\app\\MyFaves.apk T-Mobile MyFaves程式
\\system\\app\\NewsReader.apk 新聞閱讀器
\\system\\app\\PackageInstaller.apk apk安裝程式
\\system\\app\\Phone.apk 電話撥號器
\\system\\app\\Settings.apk 系統設定
\\system\\app\\SettingsProvider.apk 設定提供
\\system\\app\\SetupWizard.apk 設定嚮導
\\system\\app\\SoundRecorder.apk 錄音工具
\\system\\app\\Street.apk 街景地圖
\\system\\app\\Sync.apk 同步程式
\\system\\app\\Talk.apk 語音程式
\\system\\app\\TelephonyProvider.apk 電話提供
\\system\\app\\Updater.apk 更新程式
\\system\\app\\VpnServices.apk VPN服務
\\system\\app\\Vending.apk 製造商訊息
\\system\\app\\VoiceDialer.apk 語音撥號器
\\system\\app\\VoiceSearch.apk 語音搜索
\\system\\app\\YouTube.apk Youtube視訊
\\system\\bin
這個目錄下的文件都是系統的本地程式,從bin文件夾名稱可以看出是binary二進制的程式,裡面主要是Linux系統自帶的組件,就主要文件做下簡單的分析介紹:
\\system\\bin\\akmd
\\system\\bin\\am
\\system\\bin\\app_process 系統進程
\\system\\bin\\dalvikvm Dalvik虛擬機宿主
\\system\\bin\\dbus-daemon 系統BUS總線監控
\\system\\bin\\debuggerd 調試器
\\system\\bin\\debug_tool 調試工具
\\system\\bin\\dexopt DEX選項
\\system\\bin\\dhcpcd DHCP服務器
\\system\\bin\\dumpstate 狀態抓取器
\\system\\bin\\dumpsys 系統抓取器
\\system\\bin\\dvz
\\system\\bin\\fillup
\\system\\bin\\flash_image 閃存映像
\\system\\bin\\hciattach
\\system\\bin\\hcid HCID內核
\\system\\bin\\hostapd
\\system\\bin\\hostapd_cli
\\system\\bin\\htclogkernel
\\system\\bin\\input
\\system\\bin\\installd
\\system\\bin\\itr
\\system\\bin\\linker
\\system\\bin\\logcat Logcat日誌打印
\\system\\bin\\logwrapper
\\system\\bin\\mediaserver
\\system\\bin\\monkey
\\system\\bin\\mountd 存儲掛載器
\\system\\bin\\netcfg 網路設定
\\system\\bin\\ping Ping程式
\\system\\bin\\playmp3 MP3播放器
\\system\\bin\\pm 包管理器
\\system\\bin\\qemud QEMU虛擬機
\\system\\bin\\radiooptions 無線選項
\\system\\bin\\rild RIL組件
\\system\\bin\\sdptool
\\system\\bin\\sdutil
\\system\\bin\\service
\\system\\bin\\servicemanager 服務管理器
\\system\\bin\\sh
\\system\\bin\\ssltest SSL測試
\\system\\bin\\surfaceflinger 觸摸感應驅動
\\system\\bin\\svc 服務
\\system\\bin\\system_server
\\system\\bin\\telnetd Telnet組件
\\system\\bin\\toolbox
\\system\\bin\\wlan_loader
\\system\\bin\\wpa_cli
\\system\\bin\\wpa_supplicant
\\system\\etc
從文件夾名稱來看保存的都是系統的配置文件,比如APN接入點設定等核心配置。
\\system\\etc\\apns-conf.xml APN接入點配置文件
\\system\\etc\\AudioFilter.csv 音頻過濾器配置文件
\\system\\etc\\AudioPara4.csv
\\system\\etc\\bookmarks.xml 書籤數據庫
\\system\\etc\\dbus.conf 總線監視配置文件
\\system\\etc\\dhcpcd
\\system\\etc\\event-log-tags
\\system\\etc\\favorites.xml 我的最愛
\\system\\etc\\firmware 固件訊息
\\system\\etc\\gps.conf GPS設定文件
\\system\\etc\\hcid.conf內核HCID配置文件
\\system\\etc\\hosts 網路DNS緩存
\\system\\etc\\init.goldfish.sh
\\system\\etc\\location 定位相關
\\system\\etc\\mountd.conf 存儲掛載配置文件
\\system\\etc\\NOTICE.html 提示網頁
\\system\\etc\\permissions.xml 權限許可
\\system\\etc\\pvplayer.conf
\\system\\etc\\security
\\system\\etc\\wifi WLAN相關組件
\\system\\etc\\dhcpcd\\dhcpcd-hooks
\\system\\etc\\dhcpcd\\dhcpcd-run-hooks
\\system\\etc\\dhcpcd\\dhcpcd.conf
\\system\\etc\\dhcpcd\\dhcpcd-hooks\\01-test
\\system\\etc\\dhcpcd\\dhcpcd-hooks\\20-dns.conf
\\system\\etc\\dhcpcd\\dhcpcd-hooks\\95-configured
\\system\\etc\\firmware\\brf6300.bin
\\system\\etc\\location\\gps
\\system\\etc\\location\\gps\\location 定位相關
\\system\\etc\\location\\gps\\nmea GPS數據解析
\\system\\etc\\location\\gps\\properties
\\system\\etc\\security\\cacerts.bks
\\system\\etc\\security\\otacerts.zip OTA下載驗證
\\system\\etc\\wifi\\Fw1251r1c.bin
\\system\\etc\\wifi\\tiwlan.ini
\\system\\etc\\wifi\\wpa_supplicant.conf WPA驗證組件
\\system\\fonts
字體文件夾,除了標準字體和粗體、斜體外可以看到文件體積最大的可能是中文字庫,或一些unicode字庫,其中DroidSansFallback.ttf文件最大,為中文字庫
\\system\\fonts\\DroidSans-Bold.ttf
\\system\\fonts\\DroidSans.ttf
\\system\\fonts\\DroidSansFallback.ttf
\\system\\fonts\\DroidSansMono.ttf
\\system\\fonts\\DroidSerif-Bold.ttf
\\system\\fonts\\DroidSerif-BoldItalic.ttf
\\system\\fonts\\DroidSerif-Italic.ttf
\\system\\fonts\\DroidSerif-Regular.ttf
\\system\\framework
framework主要是一些核心的文件,從後綴名為jar可以看出是是系統平台框架。
\\system\\framework\\am.jar
\\system\\framework\\am.odex
\\system\\framework\\android.awt.jar AWT庫
\\system\\framework\\android.awt.odex
\\system\\framework\\android.policy.jar
\\system\\framework\\android.policy.odex
\\system\\framework\\android.test.runner.jar
\\system\\framework\\android.test.runner.odex
\\system\\framework\\com.google.android.gtalkservice.jar GTalk服務
\\system\\framework\\com.google.android.gtalkservice.odex
\\system\\framework\\com.google.android.maps.jar 電子地圖庫
\\system\\framework\\com.google.android.maps.odex
\\system\\framework\\core.jar 核心庫,啟動桌面時首先加載這個
\\system\\framework\\core.odex
\\system\\framework\\ext.jar
\\system\\framework\\ext.odex
\\system\\framework\\framework-res.apk
\\system\\framework\\framework-tests.jar
\\system\\framework\\framework-tests.odex
\\system\\framework\\framework.jar
\\system\\framework\\framework.odex
\\system\\framework\\input.jar 輸入庫
\\system\\framework\\input.odex
\\system\\framework\\itr.jar
\\system\\framework\\itr.odex
\\system\\framework\\monkey.jar
\\system\\framework\\monkey.odex
\\system\\framework\\pm.jar 包管理庫
\\system\\framework\\pm.odex
\\system\\framework\\services.jar
\\system\\framework\\services.odex
\\system\\framework\\ssltest.jar
\\system\\framework\\ssltest.odex
\\system\\framework\\svc.jar 系統服務
\\system\\framework\\svc.odex
\\system\\lib
lib目錄中存放的主要是系統底層庫,如平台執行時庫。
\\system\\lib\\libaes.so
\\system\\lib\\libagl.so
\\system\\lib\\libandroid_runtime.so Android執行時庫
\\system\\lib\\libandroid_servers.so 系統服務組件
\\system\\lib\\libaudio.so 音頻處理
\\system\\lib\\libaudioeq.so EQ均衡器
\\system\\lib\\libaudioflinger.so 音頻過濾器
\\system\\lib\\libbluetooth.so 藍牙組件
\\system\\lib\\libc.so
\\system\\lib\\libcamera.so 超相機組件
\\system\\lib\\libcameraservice.so
\\system\\lib\\libcorecg.so
\\system\\lib\\libcrypto.so 加密組件
\\system\\lib\\libctest.so
\\system\\lib\\libcutils.so
\\system\\lib\\libdbus.so
\\system\\lib\\libdl.so
\\system\\lib\\libdrm1.so DRM解析庫
\\system\\lib\\libdrm1_jni.so
\\system\\lib\\libdvm.so
\\system\\lib\\libexif.so
\\system\\lib\\libexpat.so
\\system\\lib\\libFFTEm.so
\\system\\lib\\libGLES_CM.so
\\system\\lib\\libgps.so
\\system\\lib\\libhardware.so
\\system\\lib\\libhgl.so
\\system\\lib\\libhtc_ril.so
\\system\\lib\\libicudata.so
\\system\\lib\\libicui18n.so
\\system\\lib\\libicuuc.so
\\system\\lib\\liblog.so
\\system\\lib\\libm.so
\\system\\lib\\libmedia.so
\\system\\lib\\libmediaplayerservice.so
\\system\\lib\\libmedia_jni.so
\\system\\lib\\libnativehelper.so
\\system\\lib\\libnetutils.so
\\system\\lib\\libOmxCore.so
\\system\\lib\\libOmxH264Dec.so
\\system\\lib\\libpixelflinger.so
\\system\\lib\\libpvasf.so
\\system\\lib\\libpvasfreg.so
\\system\\lib\\libpvauthor.so
\\system\\lib\\libpvcommon.so
\\system\\lib\\libpvdownload.so
\\system\\lib\\libpvdownloadreg.so
\\system\\lib\\libpvmp4.so
\\system\\lib\\libpvmp4reg.so
\\system\\lib\\libpvnet_support.so
\\system\\lib\\libpvplayer.so
\\system\\lib\\libpvrtsp.so
\\system\\lib\\libpvrtspreg.so
\\system\\lib\\libqcamera.so
\\system\\lib\\libreference-ril.so
\\system\\lib\\libril.so
\\system\\lib\\librpc.so
\\system\\lib\\libsgl.so
\\system\\lib\\libsonivox.so
\\system\\lib\\libsoundpool.so
\\system\\lib\\libsqlite.so
\\system\\lib\\libssl.so
\\system\\lib\\libstdc++.so
\\system\\lib\\libsurfaceflinger.so
\\system\\lib\\libsystem_server.so
\\system\\lib\\libthread_db.so
\\system\\lib\\libUAPI_jni.so
\\system\\lib\\libui.so
\\system\\lib\\libutils.so
\\system\\lib\\libvorbisidec.so
\\system\\lib\\libwbxml.so
\\system\\lib\\libwbxml_jni.so
\\system\\lib\\libwebcore.so
\\system\\lib\\libwpa_client.so
\\system\\lib\\libxml2wbxml.so
\\system\\lib\\libz.so
\\system\\lib\\modules
\\system\\lib\\modules\\wlan.ko
\\system\\media
鈴聲音樂文件夾,除了常規的鈴聲外還有一些系統提示事件音
\\system\\media\\audio
\\system\\media\\audio\\alarms 鬧鈴音
\\system\\media\\audio\\notifications 提示音
\\system\\media\\audio\\ringtones 鈴聲
\\system\\media\\audio\\ui 界面操作事件音
\\system\\media\\bootanimation.zip  開機動畫
\\system\\usr
用戶文件夾,包含共享、鍵盤佈局、時間區域文件等。
\\system\\usr\\keychars
\\system\\usr\\keylayout
\\system\\usr\\share
\\system\\usr\\srec
\\system\\usr\\keychars\\qwerty.kcm.bin
\\system\\usr\\keychars\\qwerty2.kcm.bin
\\system\\usr\\keychars\\trout-keypad-qwertz.kcm.bin
\\system\\usr\\keychars\\trout-keypad-v2.kcm.bin
\\system\\usr\\keychars\\trout-keypad-v3.kcm.bin
\\system\\usr\\keychars\\trout-keypad.kcm.bin
\\system\\usr\\keylayout\\h2w_headset.kl
\\system\\usr\\keylayout\\qwerty.kl
\\system\\usr\\keylayout\\trout-keypad-qwertz.kl
\\system\\usr\\keylayout\\trout-keypad-v2.kl
\\system\\usr\\keylayout\\trout-keypad-v3.kl
\\system\\usr\\keylayout\\trout-keypad.kl
\\system\\usr\\share\\bsk
\\system\\usr\\share\\zoneinfo
\\system\\usr\\share\\bsk\\V_FD_speed_101.bsk
\\system\\usr\\share\\bsk\\V_FD_std_101.bsk
\\system\\usr\\share\\zoneinfo\\zoneinfo.dat
\\system\\usr\\share\\zoneinfo\\zoneinfo.idx
\\system\\usr\\srec\\config
\\system\\usr\\srec\\config\\en.us
\\system\\usr\\srec\\config\\en.us\\baseline.par
\\system\\usr\\srec\\config\\en.us\\baseline11k.par
\\system\\usr\\srec\\config\\en.us\\baseline8k.par
\\system\\usr\\srec\\config\\en.us\\dictionary
\\system\\usr\\srec\\config\\en.us\\g2p
\\system\\usr\\srec\\config\\en.us\\grammars
\\system\\usr\\srec\\config\\en.us\\models
\\system\\usr\\srec\\config\\en.us\\dictionary\\basic.ok
\\system\\usr\\srec\\config\\en.us\\dictionary\\cmu6plus.ok.zip
\\system\\usr\\srec\\config\\en.us\\dictionary\\enroll.ok
\\system\\usr\\srec\\config\\en.us\\g2p\\en-US-ttp.data
\\system\\usr\\srec\\config\\en.us\\grammars\\VoiceDialer.g2g
\\system\\usr\\srec\\config\\en.us\\models\\generic.swiarb
\\system\\usr\\srec\\config\\en.us\\models\\generic11.lda
\\system\\usr\\srec\\config\\en.us\\models\\generic11_f.swimdl
\\system\\usr\\srec\\config\\en.us\\models\\generic11_m.swimdl
\\system\\usr\\srec\\config\\en.us\\models\\generic8.lda
\\system\\usr\\srec\\config\\en.us\\models\\generic8_f.swimdl
\\system\\usr\\srec\\config\\en.us\\models\\generic8_m.swimdl
OK,瞭解Android系統文件夾結構和相應文件的作用後,我們進行下一步真正定制工作。

二、定制簡單流程:
1、下載相應的ROM(.zip格式的)
2、安裝JAVA(自行搜索即可,金幣多的也只可以在文末下載),下載簽名工具(文末附下載),並且解壓。  
3、將.zip格式的ROM雙擊開啟,不解壓
4、進入data\app目錄,看這裡是否有你所需的程式,不需要的請刪除。你還可以添加你需要的默認安裝軟體。如:搜狗輸入法,只需要把SogouIme.apk文件直接拖放到壓縮包\data\app目錄內即可。
5、進入system\app刪除你不想要的組件、或是添加你需要的組件。由於有一些組件與其它組件是有依賴的,所以刪除時請注意。但也不要怕,如果你刪除的組件不對,刷機時最多是無法進入系統,你用完整ROM重新刷一次既可。一般不會變成磚的。
6、刪除、添加軟體完畢,然後把 ROM 改名為update.zip,然後複製到Auto-sign文件夾,雙擊Sign.bat等待即可(重新打包、自動簽名)。在此目錄裡打包簽名完成後自動會生成update_signed.zip,這個就是我們已精簡的ROM了。此時update_signed.zip可自由改名。
三、刷ROM
請如果 Recovery 已經準備好。請按嚴格安裝以下步驟操作刷入 ROM:
1. 把 ROM 文件複製到 SD 卡。
2. 關機,然後按住 Home(小房子)啟動手機,進入 Recovery 模式。
3. WIPE。
4. 在 Recovery 中選取正確的 ROM 文件(ZIP)刷入。
4. 重新啟動即可。
四、定制注意事項
1、細心、細心、細心
2、為安全起見,建議只對data/app和system/app這兩個文件夾內的文件做刪除、添加。
3、不知或是不太清楚要刪除的文件是幹啥的,那請保留不要刪除。
4、本文中的Android系統文件夾結構可能比較舊,如果碰到不知該文件是幹什麼的,建議搜索一下找答案。
5、按照本教程來定制ROM,如果在定制過程自已失誤刪除相應的軟體,那造成的後果最多也是無法進入系統,重新刷一個完整的ROM一般解決問題。還是那句話:刷機有風險,出問題自負。


附J簽名工具及JAVA安裝文件:
下載地址:

资源:
115网盘附件下载:
JAVA.rar (13.89MB)
「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)

評分

參與人數 42碎鑽 +22 幫助 +42 技術 +1 收起 理由
gameuse + 1 + 1 非常讃
tony994880 + 1 + 1 非常讃
this10022001 + 1 + 1 非常讃
rock10523 + 1 + 1 很給力!
shu120 + 1 + 1 非常讚
t99256972 + 1 好內容。朕有賞,還不謝主隆恩.
hgmiccl750 + 1 + 1 非常讚
jeff_chuo + 1 讚一個!
wlt61028 + 1 偶像,看完你的內容,讓我找到了活著的意義.
qoo12215 + 1 很給力!

查看全部評分

收藏收藏81 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

沙發
clark407 | 收聽TA | 只看該作者
發表於 2012-3-2 15:22
講解得好詳細 一直想要自製個人化的rom
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

板凳
hzc386 | 收聽TA | 只看該作者
發表於 2012-3-2 17:01
下次把一些軟體放在data內安裝看看
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

地板
943085 | 收聽TA | 只看該作者
發表於 2012-3-24 10:38
不好意思請問一下,我已完成了修改的動作,把update.zip放到了auto-sign的文件裡,點擊Sign.bat後,但出現無法找到指定檔案,是為什麼?可否指教一下3q
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

5
wshmllii | 收聽TA | 只看該作者
發表於 2012-4-19 12:09
用心分類~細心編文
感謝樓主無私的奉獻與分享~
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

6
freeshadow | 收聽TA | 只看該作者
發表於 2012-5-2 09:35
好詳細的資訊
留下來以後可能會用到
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

7
chuiwenchiu | 收聽TA | 只看該作者
發表於 2012-5-3 00:03

好詳細的資訊
留下來以後可能會用到
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

8
a84151 | 收聽TA | 只看該作者
發表於 2012-5-7 23:21
從官方ruu擷取的rom並沒有那些東西耶
要如何轉換?!
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

9
luiz8888br | 收聽TA | 只看該作者
發表於 2012-6-18 04:38
感謝樓主細心的講解!
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

10
sunland | 收聽TA | 只看該作者
發表於 2012-7-5 17:21
太感謝了,寫的如此詳~細.
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則