大家好,欢迎来到IT知识分享网。
想要自己DIY ROM的朋友,很多时候都不知道怎么入手,首先就是先要了解ROM里面的文件架构,以及文件的作用!这里我们就详细的介绍一下ROM,DIY自己的ROM
【文件夹功能简介】
\system\app
这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件。在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是\data\文件夹中。
\system\bin
这个目录下的文件都是系统的本地程序,从bin文件夹名称可以看出是binary二进制的程序,里面主要是Linux系统自带的组件(命令)
\system\customize
这个目录下主要是系统的设置
\system\etc
从文件夹名称来看保存的都是系统的配置文件,比如APN接入点设置等核心配置。
\system\fonts
字体文件夹,除了标准字体和粗体、斜体外可以看到文件体积最大的可能是中文字库,或一些unicode字库,从T-Mobile G1上可以清楚的看到显示简体中文正常,其中DroidSansFallback.ttf文件大小 。
\system\framework
framework主要是一些核心的文件,从后缀名为jar可以看出是是系统平台框架。
\system\lib
lib目录中存放的主要是系统底层库,一些so文件,如平台运行时库。
\system\media
\system\media\audio
铃声音乐文件夹,除了常规的铃声外还有一些系统提示事件音。
\system\sounds
默认的音乐测试文件,仅有一个test.mid文件,用于播放测试的文件。
\system\usr
用户文件夹,包含共享、键盘布局、时间区域文件等。
主要修改的文件夹:
system/
app
customize
etc
fonts
framework
lib
xbin
build.prop
一、\system\app\的DIY
我这里举个例子
\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 联系人
\system\app\Contacts.odex
\system\app\DownloadProvider.apk 下载提供
\system\app\DownloadProvider.odex
\system\app\DrmProvider.apk DRM数字版权提供
\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 系统设置
\system\app\Settings.odex
\system\app\SettingsProvider.apk 设置提供
\system\app\SettingsProvider.odex
\system\app\SetupWizard.apk 设置向导
\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当中,没有可以不管
一般来说本人精简的内容如下:
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
Flickr Flickr应用(国内连不上,没啥用)
FriendStream (htc主推的社交推送软件,可以聚合Facebook,twitter等)
htcbookmarkwidget (HTC桌面收藏夹插件)
HtcCalculatorWidget (计算器Widget小插件)
htccontactwidgets (HTC联系人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 (英文股票程序)
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
这里修改的主要是语言键盘的设置
主要修改
<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”>
这里就是开机时候选择语言的设置了
<item name=”total_list”>en_GB;zh_CN;zh_TW</item>,这里是总共所有的语言设置,一般我就保留这么三个,或者你觉得麻烦就直接留一个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>
这些是语言设置选择的列表和顺序。在上面的项显示的时候就越靠前,如果你想屏蔽一些语言,可以直接删掉或者把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>
接下来是语言键盘设置:
在 <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>
这里是所有汉字输入法的设置:
</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这些是繁体和日文的输入法,直接删掉就可以
设备名称:
<module name=”deviceData”>
<module name=”deviceData”>
<function>
<set name=”single”>
<item name=”device_name”>你想要的名字</item>
</set>
开机动画和关机动画的设置(关机动画仅对DHD和DZ的系统有效)
</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”>作者写的地区</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”>的所有东西,避免刷完系统耗费太多流量
这里还有很多默认设置,大家自己研究吧,太多我就不一一列举了
3.customize/resource这里一般放的是开机动画、开机音乐、关机动画和壁纸、书签截图等等,如果你想要有书签截图,比如你想设起点手机为书签,那么就删除卡上的.bookmark_thumb1文件夹
再用手机自带浏览器浏览一次起点手机,然后保存书签,然后在.bookmark_thumb1文件家里面找到的那个和你机子上书签截图相同的文件复制出来到system/customize/resource下面就行了
三、system/etc
这里主要是更换apns-conf.xml和gps.conf,还有init.d文件夹下的东西
apns-conf.xml里面放的是apn设置,很多人反应不能够连gprs就是这里没有你的信息
gps.conf很多人反应gps用不上或者慢,其实就是这里出问题了。
用记事本打开gps.conf文件,修改为:
NTP_SERVER=asia.pool.ntp.org
XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin
XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin
XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin
SUPL_HOST=suplcn.sirf.com
SUPL_PORT=7275
init.d这里主要是引导方式之类的,反正这里最好不动,或者使用你使用的内核的作者提供的,如果弄错了就会定在第一屏
四、system\fonts
这里主要是换字体了
DroidSansFallback.ttf中文字体
DroidSans.ttf英文字体
DroidSans-Bold.ttf 加粗的英文字体
五、system/framework
这里是谷歌的系统框架,最好不要动,不然会不稳定、或者直接进不了系统
替换数字电量最好用现成、同系列的
如何整数字电量改天再说吧。
其它系列不要使用
六、system/lib
这里主要是换内核用的,作者一般都是分好了路径的,照着换就行了
一般来说换内核必换的system/lib/modules/bcm4329.ko,这个文件是wifi和蓝牙驱动,不同内核的驱动不同,如果不换wifi和蓝牙只会提示错误
七、system/xbin
这里主要放两个文件
su和busybox,这两个是获得root权限必备的,如果没有,即使在updater-script里面设置了也没用
同时还需要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=
这里也可以改成你作品的名字或者版本号,一般我们留为基于制作的官方系统的驱动版本号
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
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/160309.html