本文主要介紹安卓rom制作工具(android手機rom簡單制作教程),下面一起看看安卓rom制作工具(android手機rom簡單制作教程)相關(guān)資訊。
想要自己diy rom的朋友往往不知道如何下手。首先是要了解rom中的文件結(jié)構(gòu)和文件的作用!這里我們就詳細介紹一下rom和diy自己的rom。
[文件夾功能介紹]
\system\app
這個主要存儲常用的下載應用,你可以看到所有的文件都以apk格式結(jié)尾。這個文件夾中的程序是系統(tǒng)默認的組件,自己安裝的軟件不會出現(xiàn)在這里,而是在\data\文件夾中。
\system\bin
這個目錄下的文件都是系統(tǒng)的本地程序。從bin文件夾名可以看出它是一個二進制程序,主要包含linux系統(tǒng)的組件(命令)。
\system\customize
這個目錄主要是關(guān)于系統(tǒng)設(shè)置的。
\system\etc
從該文件夾名稱中,保存系統(tǒng)的所有配置文件,例如apn接入點設(shè)置和其他核心配置。
\system\fonts
字體文件夾,除了標準字體,加粗字體,斜字體,可能是中文字體,也可能是一些最大文件大小的unicode字體。從t-mobile g1可以清楚地看到,簡體中文是正常的。
其中droidsansfallback.ttf文件大小。
\system\framework
框架主要是一些核心文件,從后綴jar可以看出是一個系統(tǒng)平臺框架。
\system\lib
lib目錄主要存儲系統(tǒng)底層庫和一些so文件,比如平臺運行時庫。
\system\media
\system\media\audio
鈴聲音樂文件夾,除了常規(guī)鈴聲,還有一些系統(tǒng)提示事件聲音。
\system\sounds
默認的音樂測試文件只有一個test.mid文件,用來播放測試文件。
\system\usr
用戶文件夾,包括共享,鍵盤布局,時區(qū)文件等。
主要修改的文件夾:
system/
app
customize
etc
fonts
framework
lib
xbin
build.prop
first, the system application do it yourself
我在這里舉個例子。
\system\app\alarmclock.apk鬧鐘
\system\app\alarmclock.odex
\system\app\browser.apk 瀏覽器
\system\app\browser.odex
\system\app\bugreport.apk bug報告
\system\app\bugreport.odex
\system\app\calculator.apk 計算器
\system\app\calculator.odex
\system\app\calendar.apk 日歷
\system\app\calendar.odex
\system\app\calendarprovider.apk 日歷提供
\system\app\calendarprovider.odex
\system\app\camera.apk 照相機
\system\app\camera.odex
\system\app\com.amazon.mp3.apk 亞馬遜音樂
\system\app\contacts.apk 聯(lián)系人
\system\app\contacts.odex
\system\app\downloadprovider.apk 下載提供
\system\app\downloadprovider.odex
\system\app\drmprovider.apk drm數(shù)字版權(quán)提供
\system\app\drmprovider.odex
\system\app\email.apk 電子郵件客戶端
\system\app\email.odex
\system\app\fieldtest.apk 測試程序
\system\app\fieldtest.odex
\system\app\gdatafeedsprovider.apk googledata提供
\system\app\gdatafeedsprovider.odex
\system\app\gmail.apk gmail電子郵件
\system\app\gmail.odex
\system\app\gmailprovider.apk gmail提供
\system\app\gmailprovider.odex
\system\app\googleapps.apk 谷歌程序包
\system\app\googleapps.odex
\system\app\googlesearch.apk 搜索工具
\system\app\googlesearch.odex
\system\app\gtalkservice.apk gtalk服務
\system\app\gtalkservice.odex
\system\app\htmlviewer.apk html查看器
\system\app\htmlviewer.odex
\system\app\im.apk 即使通訊組件包含msn、yahoo通
\system\app\imcredentialprovider.apk
\system\app\improvider.apk
\system\app\improvider.odex
\system\app\launcher.apk 啟動加載器
\system\app\launcher.odex
\system\app\maps.apk 電子地圖
\system\app\maps.odex
\system\app\mediaprovider.apk 多媒體播放提供
\system\app\mediaprovider.odex
\system\app\mms.apk 短信、彩信
\system\app\mms.odex
\system\app\music.apk 音樂播放器
\system\app\music.odex
\system\app\myfaves.apk t-mobile myfaves程序
\system\app\myfaves.odex
\system\app\packageinstaller.apk apk安裝程序
\system\app\packageinstaller.odex
\system\app\phone.apk 電話撥號器
\system\app\phone.odex
\system\app\settings.apk 系統(tǒng)設(shè)置
\system\app\settings.odex
\system\app\settingsprovider.apk 設(shè)置提供
\system\app\settingsprovider.odex
\system\app\setupwizard.apk 設(shè)置向?qū)?
\system\app\setupwizard.odex
\system\app\soundrecorder.apk 錄音工具
\system\app\soundrecorder.odex
\system\app\street.apk 街景地圖
\system\app\street.odex
\system\app\sync.apk 同步程序
\system\app\sync.odex
\system\app\talk.apk 語音程序
\system\app\talk.odex
\system\app\telephonyprovider.apk 電話提供
\system\app\telephonyprovider.odex
\system\app\updater.apk 更新程序
\system\app\updater.odex
\system\app\vending.apk 制造商信息
\system\app\vending.odex
\system\app\voicedialer.apk 語音撥號器
\system\app\voicedialer.odex
\system\app\youtube.apk youtube視頻
\system\app\youtube.odex
\system\app\metal.apk (金屬皮膚)
\system\app\blackboard.apk (黑板皮膚)
\system\app\wood.apk(木板皮膚)
如果沒有odex,肯定是以classes.dex的形式寫入了apk當中,沒有可以不管
一般來說本人精簡的內(nèi)容如下:
adobereader (adobe的pdf閱讀器,有更好的替代)
com.htc.fmradiowidget (桌面收音機插件)
com.htc.friendstreamwidget(好友流小插件)
com.htc.musicwidget(桌面音樂插件)
com.htc.plurkwidget(桌面plurk插件)
com.htc.stockwidget(桌面股票插件)
com.htc.twitterwidget(桌面twitter插件)
dcsstock (股票后臺傳輸程序)
dreyeandroidhtc(dr.eye是一個英語字典)
ereaderlibrary 在線小說閱讀器(英文的沒用)
ereaderviewer
ereaderwidget
facebook
flickr flickr應用(國內(nèi)連不上,沒啥用)
friendstream (htc主推的社交推送軟件,可以聚合facebook,twitter等)
htcbookmarkwidget (htc桌面收藏夾插件)
htccalculatorwidget (計算器widget小插件)
htccontactwidgets (htc聯(lián)系人widgets小插件)
htcfacebook(facebook小插件)
htcgreader(google新聞,都是英文新聞,目前沒用)
htcgreaderwidget (新聞小插件)
htcmailwidgetshtc (mail小插件)
htcmsgwidgets (短消息widget插件)
htcphotowidget (圖片widget插件)
htcpushmedia.apk (一個應用,啟動后彈出三個按鈕:音樂、圖片、視頻)
htcrecommends.apk (htc like)
htcrecommendswidget.apk (htc like插件)
htctipwidget.apk (操作提示小插件)
htctwitter.apk (twitter小插件)
quickoffice.apk (office軟件的閱讀,用更好的替代)
stock.apk (英文股票程序)
twitter
youtube
一般來說需要更新的東西:
install_flash_player.apk (flash,這個最新版本在電子市場下載)10.1.106.16
maps.apk(很多其他分辨率的東西,或者是版本不新,需要更新和精簡) 5.0
vending.apk(電子市場,我看很多官方,包括最新的1.84的官方都還不是最新的2.2.11) 2.2.11
二、customize修改
這下面有三個目錄:cidmns resource
主要修改地方:
customize/default.xml
customize/cid/default.xml
customize/mns/default.xml
cid和mns下面除了default.xml的其他文件都可以刪掉
1.customize/default.xml
這里修改的主要是語言鍵盤的設(shè)置
主要修改
item name='defeault'ime/item下的
module name='language'
module name='inputmethod'
這里就是改變htc輸入法國際鍵盤里面的語言和默認加載的輸入法,比如拼音、手寫啊之類的
english英語pinyin拼音handwriting手寫stroke筆畫
一般就留這么幾個吧。
我把它復制下來給大家參考:
customization_form version='1.00'
category name='system'
module name='ime'
function
set name='single'
item name='defeault'ime/item
/set
/function
/module
module name='language'
function
set name='single'
item name='total_list'en_gb;zh_cn;zh_tw;/item
item name='en_gb' type='boolean'yes/item
item name='zh_cn' type='boolean'yes/item
item name='zh_tw' type='boolean'yes/item
item name='defeault' zh_cn/item
/set
/function
/module
module name='inputmethod'
function name='ime_language_set'
set name='single'
item name='english' type='boolean'yes/item
item name='pinyin' type='boolean'yes/item
item name='default'english/item
/set
/function
function name='ime_sip_set'
set name='single'
item name='total_list'handwriting;pinyin;stroke;/item
item name='handwriting' type='boolean'yes/item
item name='pinyin' type='boolean'yes/item
item name='stroke' type='boolean'yes/item
item name='default'pinyin/item
/set
/function
/module
2.customize/cid/default.xml
這里主要是開機時候的語言選擇菜單、輸入法的開啟等等
找到module name='locale'
這里就是開機時候選擇語言的設(shè)置了
item name='total_list'en_gb;zh_cn;zh_tw/item,這里是總共所有的語言設(shè)置,一般我就保留這么三個,或者你覺得麻煩就直接留一個zh_cn
item type='boolean' name='en_gb'yes/item
item type='boolean' name='zh_cn'yes/item
item type='boolean' name='zh_tw'yes/item
這些是語言設(shè)置選擇的列表和順序。在上面的項顯示的時候就越靠前,如果你想屏蔽一些語言,可以直接刪掉或者把yes改成no
下面我給大家看看:
module name='locale'
function
set name='single'
item name='total_list'en_gb;zh_cn;zh_tw/item
item type='boolean' name='en_gb'yes/item
item type='boolean' name='zh_cn'yes/item
item type='boolean' name='zh_tw'yes/item
/set
接下來是語言鍵盤設(shè)置:
在module name='inputmethod'
function name='ime_language_set'
item type='boolean' name='語言名稱'yes/item
比如英語
item type='boolean' name='english'yes/item
中文
item type='boolean' name='chinese'yes/item
這里是所有漢字輸入法的設(shè)置:
/function
function name='ime_sip_set'
set name='single'
下面的項目改成這樣就行了
item name='total_list'handwriting;pinyin;stroke;/item
item type='boolean' name='handwriting'yes/item
item type='boolean' name='pinyin'yes/item
item type='boolean' name='stroke'yes/item
注意,這里存在的漢字類項目在語言和鍵盤,國際鍵盤中才會顯示
比如cangjie zuhyin這些是繁體和日文的輸入法,直接刪掉就可以
設(shè)備名稱:
module name='devicedata'
module name='devicedata'
function
set name='single'
item name='device_name'你想要的名字/item
/set
開機動畫和關(guān)機動畫的設(shè)置(關(guān)機動畫僅對dhd和dz的系統(tǒng)有效)
/function
/module
/category
bootconfiguration
bootanimation animation='/system/customize/resource/bootanimation.zip' audio='/system/customize/resource/android_audio.mp3' /
/bootconfiguration
shutdownconfiguration
shutdownanimation image_png='/system/customize/resource/downanimation.zip' image='' fps='17' /
/shutdownconfiguration
/customization_form
這里貼出的路徑就是你存放動畫和音樂的路徑,比如有些作者喜歡放在data/local下面,就把/system/customize/resource/改成/data/local
就行了,在路徑后面的比如bootanimition.zip就是動畫文件的文件名
個人建議放在system下面,不然system剩余空間那么多不利用就是浪費了
3.customize/mns/default.xml
這里就是比如主頁面要放什么插件,在什么位置之類的,這個太煩,我也懶得看。
一般來說改這么幾個地方
category name='system'
module name='defaultlocale'
function
set name='single'
item name='auto_detect'false/item
item name='defeault'作者寫的地區(qū)/item
/set
下面的東西改成這樣
category name='system'
module name='defaultlocale'
function
set name='single'
item name='auto_detect'false/item
item name='defeault'zh_cn/item
/set
function name='default_ikb_settings_checked'
set name='single'
item name='checked_list_latin'english;france;……還有很多/item
這里留一個english就行了
日期時間默認格式:
module name='defaulttimeformatsetting'
function
set name='single'
item name='default'作者寫的/item
/set
把item name='default'作者寫的/item改成你想要的
yyyy是年,mm或者mmm是月份,d是天,ee是周
比如你喜歡2011/2/2那就改成yyyy/mm/d
如果你喜歡2011年2月2日,周三,那就改成yyyy mmm d, ee
/function
/module
module name='defaulttimeformatsettingshort'
function
set name='single'
item name='default'作者寫的/item
這里修改方法和上面一樣,只不過沒有yyyy而已
一般來說這里我們要刪除worldclockdefaultcities和module name='newsstand'的所有東西,避免刷完系統(tǒng)耗費太多流量
這里還有很多默認設(shè)置,大家自己研究吧,太多我就不一一列舉了
3.customize/resource這里一般放的是開機動畫、開機音樂、關(guān)機動畫和壁紙、書簽截圖等等,如果你想要有書簽截圖,比如你想設(shè)起點手機為書簽,
那么就刪除卡上的.bookmark_thumb1文件夾
再用手機自帶瀏覽器瀏覽一次起點手機,然后保存書簽,
然后在.bookmark_thumb1文件家里面找到的那個和你機子上書簽截圖相同的文件復制出來到system/customize/resource下面就行了
三、system/etc
這里主要是更換apns-conf.xml和gps.conf,還有init.d文件夾下的東西
apns-conf.xml里面放的是apn設(shè)置,很多人反應不能夠連gprs就是這里沒有你的信息
gps.conf很多人反應gps用不上或者慢,其實就是這里出問題了。
用記事本打開gps.conf文件,修改為:
ntp_server=asia.pool.ntp.org
xtra_server_1=
xtra_server_2=
xtra_server_3=
supl_host=suplcn.sirf.com
supl_port=7275
init.d這里主要是引導方式之類的,反正這里最好不動,或者使用你使用的內(nèi)核的作者提供的,如果弄錯了就會定在第一屏
四、system\fonts
這里主要是換字體了
droidsansfallback.ttf中文字體
droidsans.ttf英文字體
droidsans-bold.ttf 加粗的英文字體
五、system/framework
這里是谷歌的系統(tǒng)框架,最好不要動,不然會不穩(wěn)定、或者直接進不了系統(tǒng)
替換數(shù)字電量最好用現(xiàn)成、同系列的
如何整數(shù)字電量改天再說吧。
其它系列不要使用
六、system/lib
這里主要是換內(nèi)核用的,作者一般都是分好了路徑的,照著換就行了
一般來說換內(nèi)核必換的system/lib/modules/bcm4329.ko,這個文件是wifi和藍牙驅(qū)動,不同內(nèi)核的驅(qū)動不同,如果不換wifi和藍牙只會提示錯誤
七、system/xbin
這里主要放兩個文件
su和busybox,這兩個是獲得root權(quán)限必備的,如果沒有,即使在updater-script里面設(shè)置了也沒用
同時還需要superuser.apk配合,解壓到\system\app\
八、system/build.prop
這個文件嘛,一般是留名用的:
主要改以下幾個地方:
1、
ro.product.locale.language=hdpi(或者有的機型是mdpildpi)
ro.product.locale.region=
改成
ro.product.locale.language=zh
ro.product.locale.region=cn
這樣開機第一次鎖屏的時候就是中文
2.
ro.build.description=
后面改成你想要的,也就是你作品的名字
ro.product.version=
這里也可以改成你作品的名字或者版本號,一般我們留為基于制作的官方系統(tǒng)的驅(qū)動版本號
3、
ro.sf.lcd_density=
后面一般為240,cm系列可以改成200,當然會有軟件不全屏,帶sense的就別改了
4、
ro.ril.def.agps.mode=2
聽說改成0可以加速gps定位省流量
5、
默認鈴聲ro.config.ringtone=
默認同志ro.config.notification_sound=
默認鬧鈴ro.config.alarm_alert=
默認電話鈴聲ro.config.cal_notification=
默認短信鈴聲ro.config.msg_notification=
改成相應目錄下的文件名就行了
比如我要改ro.config.ringtone=,system/media/audio/ringstones下面有一個我喜歡的比如htc.mp3,
那我就改成ro.config.ringtone=htc.mp3
比如我要改
ro.config.alarm_alert=,system/media/audio/alarms下面有一個我喜歡的比如light.mp3,
那就改成ro.config.alarm_alert=light.np3