本帖最后由 macarthur6 于 2012-12-25 22:50 編輯
注:本文是對ymcz257用戶的補充,Android系統(tǒng)文件夾結(jié)構(gòu)大同小異,不必深究,主要是自己簡易定制自己的rom,建議大家深入了解后再做定制,不懂得可以問百度娘,請大家認(rèn)真看最后我標(biāo)記紅色的部分。 定制工具我已附件上傳。 定制有風(fēng)險,修改需謹(jǐn)慎! 一、Android系統(tǒng)文件夾結(jié)構(gòu) 一個完整的ROM根目錄會有以下幾個文件夾及文件:
data META-IN system boot.img
系統(tǒng)目錄說明
1. 應(yīng)用程序安裝目錄 1) 系統(tǒng)應(yīng)用程序所在目錄 /system/app/*.apk 2)用戶安裝應(yīng)用程序所在目錄 /data/app/*.apk 3) 注意: a)在模擬器中,每重啟一次,/system/app/下的應(yīng)用都會被還原,有時/data/app下也會被清除 b)若在/system/app和/data/app下有重名的應(yīng)用,不一定會啟動哪一個,尤其是在adb install殺死正在運行的程序時,有時舊的就會被啟動 2.用戶數(shù)據(jù)所在目錄 /data/data/應(yīng)用包名/shared_prefs 配置文件 /data/data/應(yīng)用包名/databases/* 庫文件所在目錄 3. SD卡對應(yīng)目錄 /sdcard/
而我們需要處理的只是兩個文件夾里面的內(nèi)容: data/app –該文本夾里的文件可以全刪,也可以自由添加自已所需安裝的應(yīng)用軟件,刷機安裝后可以自由刪除。 system/app –在這個文件夾下的程序為系統(tǒng)默認(rèn)的組件,可以看到都是以APK格式結(jié)尾的文件,但有些自制的ROM里面還有和APK文件名對應(yīng)的odex文件。我們主要是針對該文件夾里的文件進(jìn)行精簡,如果有odex文件的,刪除APK文件名時同時也刪除與其對應(yīng)的odex文件。 雖然一般定制時只是對以上兩個文件夾里的文件做相應(yīng)的增減,但我們還是一起來了解system相應(yīng)目錄相應(yīng)文件的用途吧。(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\Contacts.apk 聯(lián)系人 \system\app\DownloadProvider.apk 下載提供 \system\app\DrmProvider.apk DRM數(shù)字版權(quán)提供 \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 谷歌程序包 \system\app\GoogleSearch.apk 搜索工具 \system\app\gtalkservice.apk GTalk服務(wù) \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 導(dǎo)航軟件 \system\app\Maps.apk 電子地圖 \system\app\MediaProvider.apk 多媒體播放提供 \system\app\Mms.apk 短信、彩信 \system\app\Music.apk 音樂播放器 \system\app\PackageInstaller.apk apk安裝程序 \system\app\Phone.apk 電話撥號器 \system\app\Settings.apk 系統(tǒng)設(shè)置 \system\app\SettingsProvider.apk 設(shè)置提供 \system\app\SetupWizard.apk 設(shè)置向?qū)?/font> \system\app\SoundRecorder.apk 錄音工具 \system\app\Sync.apk 同步程序 \system\app\Talk.apk 語音程序 \system\app\TelephonyProvider.apk 電話提供 \system\app\Updater.apk 更新程序 \system\app\Vending.apk 制造商信息 \system\app\VoiceDialer.apk 語音撥號器 \system\app\VoiceSearch.apk 語音搜索 \system\bin 這個目錄下的文件都是系統(tǒng)的本地程序,從bin文件夾名稱可以看出是binary二進(jìn)制的程序,里面主要是Linux系統(tǒng)自帶的組件,Android手機網(wǎng)就主要文件做下簡單的分析介紹: \system\bin\akmd \system\bin\am \system\bin\app_process 系統(tǒng)進(jìn)程 \system\bin\dalvikvm Dalvik虛擬機宿主 \system\bin\dbus-daemon 系統(tǒng)BUS總線監(jiān)控 \system\bin\debuggerd 調(diào)試器 \system\bin\debug_tool 調(diào)試工具 \system\bin\dexopt DEX選項 \system\bin\dhcpcd DHCP服務(wù)器 \system\bin\dumpstate 狀態(tài)抓取器 \system\bin\dumpsys 系統(tǒng)抓取器 \system\bin\dvz \system\bin\fillup \system\bin\flash_image 閃存映像 \system\bin\hciattach \system\bin\hcid HCID內(nèi)核 \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 網(wǎng)絡(luò)設(shè)置 \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 服務(wù)管理器 \system\bin\sh \system\bin\ssltest SSL測試 \system\bin\surfaceflinger 觸摸感應(yīng)驅(qū)動 \system\bin\svc 服務(wù) \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 從文件夾名稱來看保存的都是系統(tǒng)的配置文件,比如APN接入點設(shè)置等核心配置。 \system\etc\apns-conf.xml APN接入點配置文件 \system\etc\AudioFilter.csv 音頻過濾器配置文件 \system\etc\AudioPara4.csv \system\etc\bookmarks.xml 書簽數(shù)據(jù)庫 \system\etc\dbus.conf 總線監(jiān)視配置文件 \system\etc\dhcpcd \system\etc\event-log-tags \system\etc\favorites.xml 收藏夾 \system\etc\firmware 固件信息 \system\etc\gps.conf GPS設(shè)置文件 \system\etc\hcid.conf內(nèi)核HCID配置文件 \system\etc\hosts 網(wǎng)絡(luò)DNS緩存 \system\etc\init.goldfish.sh \system\etc\location 定位相關(guān) \system\etc\mountd.conf 存儲掛載配置文件 \system\etc\NOTICE.html 提示網(wǎng)頁 \system\etc\permissions.xml 權(quán)限許可 \system\etc\pvplayer.conf \system\etc\security \system\etc\wifi WLAN相關(guān)組件 \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 定位相關(guān) \system\etc\location\gps\nmea GPS數(shù)據(jù)解析 \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 字體文件夾,除了標(biāo)準(zhǔn)字體和粗體、斜體外可以看到文件體積最大的可能是中文字庫,或一些unicode字庫,從T- Mobile G1上可以清楚的看到顯示簡體中文正常,其中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可以看出是是系統(tǒng)平臺框架。 \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服務(wù) \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 系統(tǒng)服務(wù) \system\framework\svc.odex \system\lib lib目錄中存放的主要是系統(tǒng)底層庫,如平臺運行時庫。 \system\lib\libaes.so \system\lib\libagl.so \system\lib\libandroid_runtime.so Android運行時庫 \system\lib\libandroid_servers.so 系統(tǒng)服務(wù)組件 \system\lib\libaudio.so 音頻處理 \system\lib\libaudioeq.so EQ均衡器 \system\lib\libaudioflinger.so 音頻過濾器 \system\lib\libbluetooth.so 藍(lán)牙組件 \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 鈴聲音樂文件夾,除了常規(guī)的鈴聲外還有一些系統(tǒng)提示事件音 \system\media\audio \system\media\audio\alarms 鬧鈴音 \system\media\audio\notifications 提示音 \system\media\audio\ringtones 鈴聲 \system\media\audio\ui 界面操作事件音 \system\media\audio\alarms\Alarm_Beep_01.ogg \system\media\audio\alarms\Alarm_Beep_02.ogg \system\media\audio\alarms\Alarm_Beep_03.ogg \system\media\audio\alarms\Alarm_Buzzer.ogg \system\media\audio\alarms\Alarm_Classic.ogg \system\media\audio\alarms\Alarm_Rooster_02.ogg \system\media\audio\notifications\Beat_Box_Android.ogg \system\media\audio\notifications\CaffeineSnake.ogg \system\media\audio\notifications\DearDeer.ogg \system\media\audio\notifications\DontPanic.ogg \system\media\audio\notifications\F1_MissedCall.ogg \system\media\audio\notifications\F1_New_MMS.ogg \system\media\audio\notifications\F1_New_SMS.ogg \system\media\audio\notifications\Heaven.ogg \system\media\audio\notifications\Highwire.ogg \system\media\audio\notifications\KzurbSonar.ogg \system\media\audio\notifications\OnTheHunt.ogg \system\media\audio\notifications\TaDa.ogg \system\media\audio\notifications\Tinkerbell.ogg \system\media\audio\notifications\Voila.ogg \system\media\audio\ringtones\BeatPlucker.ogg \system\media\audio\ringtones\BentleyDubs.ogg \system\media\audio\ringtones\BirdLoop.ogg \system\media\audio\ringtones\CaribbeanIce.ogg \system\media\audio\ringtones\CrazyDream.ogg \system\media\audio\ringtones\CurveBall.ogg \system\media\audio\ringtones\DreamTheme.ogg \system\media\audio\ringtones\EtherShake.ogg \system\media\audio\ringtones\FriendlyGhost.ogg \system\media\audio\ringtones\GameOverGuitar.ogg \system\media\audio\ringtones\Growl.ogg \system\media\audio\ringtones\InsertCoin.ogg \system\media\audio\ringtones\LoopyLounge.ogg \system\media\audio\ringtones\LoveFlute.ogg \system\media\audio\ringtones\MidEvilJaunt.ogg \system\media\audio\ringtones\MildlyAlarming.ogg \system\media\audio\ringtones\NewPlayer.ogg \system\media\audio\ringtones\Noises1.ogg \system\media\audio\ringtones\Noises2.ogg \system\media\audio\ringtones\Noises3.ogg \system\media\audio\ringtones\OrganDub.ogg \system\media\audio\ringtones\Ring_Classic_02.ogg \system\media\audio\ringtones\Ring_Digital_02.ogg \system\media\audio\ringtones\Ring_Synth_02.ogg \system\media\audio\ringtones\Ring_Synth_04.ogg \system\media\audio\ringtones\RomancingTheTone.ogg \system\media\audio\ringtones\SitarVsSitar.ogg \system\media\audio\ringtones\SpringyJalopy.ogg \system\media\audio\ringtones\T-Jingle.ogg \system\media\audio\ringtones\Terminated.ogg \system\media\audio\ringtones\TwirlAway.ogg \system\media\audio\ringtones\VeryAlarmed.ogg \system\media\audio\ringtones\World.ogg \system\media\audio\ui\Effect_Tick.ogg \system\sounds 默認(rèn)的音樂測試文件,僅有一個test.mid文件,用于播放測試的文件。 \system\sounds\test.mid \system\usr 用戶文件夾,包含共享、鍵盤布局、時間區(qū)域文件等。 \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系統(tǒng)文件夾結(jié)構(gòu)和相應(yīng)文件的作用后,我們進(jìn)行下一步真正定制工作。 二、定制簡單流程: 1、下載相應(yīng)的ROM 2、下載簽名工具,并且解壓。(請下載附件) 3、把ROM內(nèi)的所有文件用WinZip或是WinRAR解壓到某一文件夾,為教程容易明白,我將這文件夾在這里起名為“NewsROM”,你自已喜歡怎樣起名都無所謂。 4、進(jìn)入NewsROM文件夾,再進(jìn)入dataapp目錄,看這里是否有你所需的程序,不需要的請刪除。你還可以添加你需要的默認(rèn)安裝軟件。如:搜狗輸入法,只需要把SogouIme.apk文件直接拖放到壓縮包dataapp目錄內(nèi)即可。 5、進(jìn)入NewsROM文件夾,再進(jìn)入systemapp刪除你不想要的組件、或是添加你需要的組件。由于有一些組件與其它組件是有依賴的,所以刪除時請注意。但也不要怕,如果你刪除的組件不對,刷機時最多是無法進(jìn)入系統(tǒng),你用完整ROM重新刷一次既可。一般不會變成磚的。 6、刪除、添加軟件完畢,然后把 ROM 文件夾(NewsROM)拖動到APKMake/APKMake.bat 即可(重新打包、自動簽名)。在APKMake目錄里打包簽名完成后自動會生成NewsROM.zip(剛才文件夾起名不同,這里生成文件名也不同),這個就是我們已精簡的ROM了。 三、刷ROM 本版有教程,不再贅述。 四、定制注意事項 1、細(xì)心、細(xì)心、細(xì)心 2、為安全起見,建議只對data/app和system/app這兩個文件夾內(nèi)的文件做刪除、添加。 3、不知或是不太清楚要刪除的文件是干啥的,那請保留不要刪除。 4、本文中的Android系統(tǒng)文件夾結(jié)構(gòu)可能比較舊,如果碰到不知該文件是干什么的,建議搜索一下找答案。 4、按照本教程來定制ROM,如果在定制過程自已失誤刪除相應(yīng)的軟件,那造成的后果最多也是無法進(jìn)入系統(tǒng),重新刷一個完整的ROM一般解決問題。
|
 apkmake.rar 1.42 MB, 閱讀權(quán)限: 30, 下載次數(shù): 416, 下載積分: 貢獻(xiàn) -1
|