本帖最后由 macarthur6 于 2012-12-25 22:50 編輯
注:本文是對(duì)ymcz257用戶(hù)的補(bǔ)充,Android系統(tǒng)文件夾結(jié)構(gòu)大同小異,不必深究,主要是自己簡(jiǎn)易定制自己的rom,建議大家深入了解后再做定制,不懂得可以問(wèn)百度娘,請(qǐng)大家認(rèn)真看最后我標(biāo)記紅色的部分。 定制工具我已附件上傳。 定制有風(fēng)險(xiǎn),修改需謹(jǐn)慎! 一、Android系統(tǒng)文件夾結(jié)構(gòu) 一個(gè)完整的ROM根目錄會(huì)有以下幾個(gè)文件夾及文件:
data META-IN system boot.img
系統(tǒng)目錄說(shuō)明
1. 應(yīng)用程序安裝目錄 1) 系統(tǒng)應(yīng)用程序所在目錄 /system/app/*.apk 2)用戶(hù)安裝應(yīng)用程序所在目錄 /data/app/*.apk 3) 注意: a)在模擬器中,每重啟一次,/system/app/下的應(yīng)用都會(huì)被還原,有時(shí)/data/app下也會(huì)被清除 b)若在/system/app和/data/app下有重名的應(yīng)用,不一定會(huì)啟動(dòng)哪一個(gè),尤其是在adb install殺死正在運(yùn)行的程序時(shí),有時(shí)舊的就會(huì)被啟動(dòng) 2.用戶(hù)數(shù)據(jù)所在目錄 /data/data/應(yīng)用包名/shared_prefs 配置文件 /data/data/應(yīng)用包名/databases/* 庫(kù)文件所在目錄 3. SD卡對(duì)應(yīng)目錄 /sdcard/
而我們需要處理的只是兩個(gè)文件夾里面的內(nèi)容: data/app –該文本夾里的文件可以全刪,也可以自由添加自已所需安裝的應(yīng)用軟件,刷機(jī)安裝后可以自由刪除。 system/app –在這個(gè)文件夾下的程序?yàn)橄到y(tǒng)默認(rèn)的組件,可以看到都是以APK格式結(jié)尾的文件,但有些自制的ROM里面還有和APK文件名對(duì)應(yīng)的odex文件。我們主要是針對(duì)該文件夾里的文件進(jìn)行精簡(jiǎn),如果有odex文件的,刪除APK文件名時(shí)同時(shí)也刪除與其對(duì)應(yīng)的odex文件。 雖然一般定制時(shí)只是對(duì)以上兩個(gè)文件夾里的文件做相應(yīng)的增減,但我們還是一起來(lái)了解system相應(yīng)目錄相應(yīng)文件的用途吧。(rom版本不同里面的APK也會(huì)不一樣) \system\app \system\app\AlarmClock.apk 鬧鐘 \system\app\Browser.apk 瀏覽器 \system\app\Bugreport.apk Bug報(bào)告 \system\app\Calculator.apk 計(jì)算器 \system\app\Calendar.apk 日歷 \system\app\CalendarProvider.apk 日歷提供 \system\app\Camera.apk 照相機(jī) \system\app\Contacts.apk 聯(lián)系人 \system\app\DownloadProvider.apk 下載提供 \system\app\DrmProvider.apk DRM數(shù)字版權(quán)提供 \system\app\Email.apk 電子郵件客戶(hù)端 \system\app\FieldTest.apk 測(cè)試程序 \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客戶(hù)端PEEP \system\app\IM.apk 即使通訊組件包含MSN、yahoo通 \system\app\ImCredentialProvider.apk \system\app\ImProvider.apk \system\app\Launcher.apk 啟動(dòng)加載器 \system\app\HtcNaviPanel.apk 導(dǎo)航軟件 \system\app\Maps.apk 電子地圖 \system\app\MediaProvider.apk 多媒體播放提供 \system\app\Mms.apk 短信、彩信 \system\app\Music.apk 音樂(lè)播放器 \system\app\PackageInstaller.apk apk安裝程序 \system\app\Phone.apk 電話(huà)撥號(hào)器 \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 語(yǔ)音程序 \system\app\TelephonyProvider.apk 電話(huà)提供 \system\app\Updater.apk 更新程序 \system\app\Vending.apk 制造商信息 \system\app\VoiceDialer.apk 語(yǔ)音撥號(hào)器 \system\app\VoiceSearch.apk 語(yǔ)音搜索 \system\bin 這個(gè)目錄下的文件都是系統(tǒng)的本地程序,從bin文件夾名稱(chēng)可以看出是binary二進(jìn)制的程序,里面主要是Linux系統(tǒng)自帶的組件,Android手機(jī)網(wǎng)就主要文件做下簡(jiǎn)單的分析介紹: \system\bin\akmd \system\bin\am \system\bin\app_process 系統(tǒng)進(jìn)程 \system\bin\dalvikvm Dalvik虛擬機(jī)宿主 \system\bin\dbus-daemon 系統(tǒng)BUS總線(xiàn)監(jiān)控 \system\bin\debuggerd 調(diào)試器 \system\bin\debug_tool 調(diào)試工具 \system\bin\dexopt DEX選項(xiàng) \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 存儲(chǔ)掛載器 \system\bin\netcfg 網(wǎng)絡(luò)設(shè)置 \system\bin\ping Ping程序 \system\bin\playmp3 MP3播放器 \system\bin\pm 包管理器 \system\bin\qemud QEMU虛擬機(jī) \system\bin\radiooptions 無(wú)線(xiàn)選項(xiàng) \system\bin\rild RIL組件 \system\bin\sdptool \system\bin\sdutil \system\bin\service \system\bin\servicemanager 服務(wù)管理器 \system\bin\sh \system\bin\ssltest SSL測(cè)試 \system\bin\surfaceflinger 觸摸感應(yīng)驅(qū)動(dòng) \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 從文件夾名稱(chēng)來(lái)看保存的都是系統(tǒng)的配置文件,比如APN接入點(diǎn)設(shè)置等核心配置。 \system\etc\apns-conf.xml APN接入點(diǎn)配置文件 \system\etc\AudioFilter.csv 音頻過(guò)濾器配置文件 \system\etc\AudioPara4.csv \system\etc\bookmarks.xml 書(shū)簽數(shù)據(jù)庫(kù) \system\etc\dbus.conf 總線(xiàn)監(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 存儲(chǔ)掛載配置文件 \system\etc\NOTICE.html 提示網(wǎng)頁(yè) \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下載驗(yàn)證 \system\etc\wifi\Fw1251r1c.bin \system\etc\wifi\tiwlan.ini \system\etc\wifi\wpa_supplicant.conf WPA驗(yàn)證組件 \system\fonts 字體文件夾,除了標(biāo)準(zhǔn)字體和粗體、斜體外可以看到文件體積最大的可能是中文字庫(kù),或一些unicode字庫(kù),從T- Mobile G1上可以清楚的看到顯示簡(jiǎn)體中文正常,其中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)平臺(tái)框架。 \system\framework\am.jar \system\framework\am.odex \system\framework\android.awt.jar AWT庫(kù) \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 電子地圖庫(kù) \system\framework\com.google.android.maps.odex \system\framework\core.jar 核心庫(kù),啟動(dòng)桌面時(shí)首先加載這個(gè) \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 輸入庫(kù) \system\framework\input.odex \system\framework\itr.jar \system\framework\itr.odex \system\framework\monkey.jar \system\framework\monkey.odex \system\framework\pm.jar 包管理庫(kù) \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)底層庫(kù),如平臺(tái)運(yùn)行時(shí)庫(kù)。 \system\lib\libaes.so \system\lib\libagl.so \system\lib\libandroid_runtime.so Android運(yùn)行時(shí)庫(kù) \system\lib\libandroid_servers.so 系統(tǒng)服務(wù)組件 \system\lib\libaudio.so 音頻處理 \system\lib\libaudioeq.so EQ均衡器 \system\lib\libaudioflinger.so 音頻過(guò)濾器 \system\lib\libbluetooth.so 藍(lán)牙組件 \system\lib\libc.so \system\lib\libcamera.so 超相機(jī)組件 \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解析庫(kù) \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 鈴聲音樂(lè)文件夾,除了常規(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)的音樂(lè)測(cè)試文件,僅有一個(gè)test.mid文件,用于播放測(cè)試的文件。 \system\sounds\test.mid \system\usr 用戶(hù)文件夾,包含共享、鍵盤(pán)布局、時(shí)間區(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)行下一步真正定制工作。 二、定制簡(jiǎn)單流程: 1、下載相應(yīng)的ROM 2、下載簽名工具,并且解壓。(請(qǐng)下載附件) 3、把ROM內(nèi)的所有文件用WinZip或是WinRAR解壓到某一文件夾,為教程容易明白,我將這文件夾在這里起名為“NewsROM”,你自已喜歡怎樣起名都無(wú)所謂。 4、進(jìn)入NewsROM文件夾,再進(jìn)入dataapp目錄,看這里是否有你所需的程序,不需要的請(qǐng)刪除。你還可以添加你需要的默認(rèn)安裝軟件。如:搜狗輸入法,只需要把SogouIme.apk文件直接拖放到壓縮包dataapp目錄內(nèi)即可。 5、進(jìn)入NewsROM文件夾,再進(jìn)入systemapp刪除你不想要的組件、或是添加你需要的組件。由于有一些組件與其它組件是有依賴(lài)的,所以刪除時(shí)請(qǐng)注意。但也不要怕,如果你刪除的組件不對(duì),刷機(jī)時(shí)最多是無(wú)法進(jìn)入系統(tǒng),你用完整ROM重新刷一次既可。一般不會(huì)變成磚的。 6、刪除、添加軟件完畢,然后把 ROM 文件夾(NewsROM)拖動(dòng)到APKMake/APKMake.bat 即可(重新打包、自動(dòng)簽名)。在A(yíng)PKMake目錄里打包簽名完成后自動(dòng)會(huì)生成NewsROM.zip(剛才文件夾起名不同,這里生成文件名也不同),這個(gè)就是我們已精簡(jiǎn)的ROM了。 三、刷ROM 本版有教程,不再贅述。 四、定制注意事項(xiàng) 1、細(xì)心、細(xì)心、細(xì)心 2、為安全起見(jiàn),建議只對(duì)data/app和system/app這兩個(gè)文件夾內(nèi)的文件做刪除、添加。 3、不知或是不太清楚要?jiǎng)h除的文件是干啥的,那請(qǐng)保留不要?jiǎng)h除。 4、本文中的Android系統(tǒng)文件夾結(jié)構(gòu)可能比較舊,如果碰到不知該文件是干什么的,建議搜索一下找答案。 4、按照本教程來(lái)定制ROM,如果在定制過(guò)程自已失誤刪除相應(yīng)的軟件,那造成的后果最多也是無(wú)法進(jìn)入系統(tǒng),重新刷一個(gè)完整的ROM一般解決問(wèn)題。
|
 apkmake.rar 1.42 MB, 閱讀權(quán)限: 30, 下載次數(shù): 416, 下載積分: 貢獻(xiàn) -1
|