Android平台ROM的定制及精简教程

本教程主要内容有:Android系统文件夹结构解析、应用软件说明、定制精简、ROM签名把包等内容。本教程测试平台为HTC G2、G3这两个型号,其它机型可以借鉴,刷机有风险,出问题自负。其实这个教程一早就想写的,但由于时间及本人的懒惰,一直拖着。今晚终于静下心来写好本文,本文有部份内容来自于网络。

速度与华丽,你喜欢那个。是不是想要一个又够速度又华丽的ROM呢?我是一个追求新鲜的人,对于手机的ROM,我又追求稳定、精简、美观、省电。现在Hero ROM有很多,最新的有第三方Android 2.1版本,但这些ROM的制作者都会跟据自已的个人喜欢会增加和增少相应的功能或是界面,但我们往往不喜欢这些ROM的某些小方面,所以随着而来面对的问题就是怎样把这个ROM修改成为一个自已真正需要的ROM呢?以往一直是依靠“大杀器”来解决,但觉得还是过于麻烦,所以寻求办法自己动手修改ROM。于是有了本文。废话少说,进入正题。

一、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 谷歌程序包
\\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系统自带的组件,Android手机网就主要文件做下简单的分析介绍:
\\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字库,从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可以看出是是系统平台框架。
\\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\\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

默认的音乐测试文件,仅有一个test.mid文件,用于播放测试的文件。
\\system\\sounds\\test.mid

\\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
2、下载签名工具,并且解压。我这里解压成生的文件夹名为:“APKMake”。我这里提供签名工具的是宇宙青年制作的,下载请到这:http://u.115.com/file/f0a485d7d1
3、把ROM内的所有文件用WinZip或是WinRAR解压到某一文件夹,为教程容易明白,我将这文件夹在这里起名为“NewsROM”,你自已喜欢怎样起名都无所谓。
4、进入NewsROM文件夹,再进入data\app目录,看这里是否有你所需的程序,不需要的请删除。你还可以添加你需要的默认安装软件。如:搜狗输入法,只需要把SogouIme.apk文件直接拖放到压缩包\data\app目录内即可。
5、进入NewsROM文件夹,再进入system\app删除你不想要的组件、或是添加你需要的组件。由于有一些组件与其它组件是有依赖的,所以删除时请注意。但也不要怕,如果你删除的组件不对,刷机时最多是无法进入系统,你用完整ROM重新刷一次既可。一般不会变成砖的。
6、删除、添加软件完毕,然后把 ROM 文件夹(NewsROM)拖动到APKMake/APKMake.bat 即可(重新打包、自动签名)。在APKMake目录里打包签名完成后自动会生成NewsROM.zip(刚才文件夹起名不同,这里生成文件名也不同),这个就是我们已精简的ROM了。

三、刷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系统文件夹结构可能比较旧,如果碰到不知该文件是干什么的,建议搜索一下找答案。
4、按照本教程来定制ROM,如果在定制过程自已失误删除相应的软件,那造成的后果最多也是无法进入系统,重新刷一个完整的ROM一般解决问题。还是那句话:刷机有风险,出问题自负。

Android平台ROM的定制及精简教程》有47个想法

  1. user

    佐仔,提取港版面2.1ROM后,加了文件管理器\安桌市场进去,改了APN接入点,这些没问题.但Superuser.apk su这2个文件也加进去了.但为什么刷完后,没有这个程序?还是提没ROOT权限..是不是做脚本进去才行? 2.1的ROM 如何开APP2SD功能. 谢谢

    回复
  2. 佐仔 文章作者

    @边缘人在边缘, 真是有点佩服你的钻研精神。你的命令中是暂时把/data/dalvik-cache移动SD卡而已,而不是系统默认读取SD卡上的dalvik-cache,所以重启后又恢复原样。

    建议不要追求APP2SD+,因为如果SD卡有问题,会造成系统出错,并且这样大量读取SD卡造成耗电。所以推荐使用原生状官方APP2SD功能,需要这个功能事先需要软件支持,但可以让它这个功能支持所有软件,从而达到APP2SD+的功能,同时又保持系统的稳定性。教程:http://www.jinbo123.com/1570.html

    回复
  3. 佐仔 文章作者

    @边缘人在边缘,
    第一个问题不是简单说两句就可以说清楚的,里面还有太多的专业知识,建议你去搜一下相关论坛学习一下。
    第二个问题如果你事先分好区,那软件的缓存会自动移到EXT3分区上的。

    回复
    1. 边缘人在边缘

      @佐仔大大, 您好!
      第一个问题是我自不量力了,自己看了看确实比较麻烦。
      第二个问题是我问的还不够仔细,就是 /data/data目录是不是也可以移动打EXT分区啊?我曾经尝试过这样做:
      我使用的是ADB Shell。
      cp -a /data/data/ /system/sd
      rm -r /data/data/
      ln -s /system/sd/data/ /data/data
      reboot(本条命令没有成功,后使用的是手动重启,后来在原生ROM中验证成功)
      执行完毕后手机确实增加了不少内存,可见140MB+。
      但后来我发现/system目录下修改后重启又变回原样了(个人揣测是没有完全Root所致,不知道是否有写System的方法,看过安卓网的完全Root教程,个人感觉太过危险),在安卓网有位机油如是说:他说APP2SD+的版本不太一样,有些版本可以在根目录看见 /sd-ext,并且他提供了dtapps2sd-2.7.5.2-signed.zip。后来我又刷了熊大的原生2.2,并刷入了该补丁文件,成功的发现了该目录,并成功的转移了/data/data目录至/sd-ext,但发现 /data/dalvik-cache仍然保留在原始目录,我仍然希望按照同样手动转移,我使用的命令如下:
      cp -a /data/dalvik-cache /sd-ext
      rm -r /data/dalvik-cache
      ln -s /sd-ext/dalvik-cache /data/dalvik-cache
      reboot(该命令可以成功重启)
      但重启后发现虽然 /data/data目录转移成功,但/dalvik-cache仍然出现在/data中,如此反复折腾了几次,死心了。
      希望zuozi大大能够为我讲解下如何在刷入了你的0923版(已转移/data/app,/data/dalvik-cache,未转移/data/data)后如何继续转移相关的缓存,感激不尽。

      PS:我不是学Linux的,我是搞路由器防火墙之流,上述的命令都是我看论坛看来的,期间也咨询了些身边搞Linux的同事,请zuozi大大当我是小白……

      回复
  4. 边缘人在边缘

    zuozi大大,想咨询两个问题:
    1. 如何在自己精简ROM的过程中加入APP2SD和APP2SD+?
    2. 在使用支持APP2SD+的ROM中(例如您的0923版),如何将软件的缓存也移动到SD卡中的EXT2/3分区?
    请帮忙解答,不胜感激!

    回复
  5. goomad

    问个事情,我把你的系统改了一下,打包签名都完成了…可是一刷机就说不能找到脚本,这是怎么回事?recovery已经刷到1.7.1了

    回复
  6. 佐仔 文章作者

    @canxueuwhen, bin 即binary 作名词是二进制的意思,是它为我们提供了提供了JAVA虚拟机的编译运行环境 比如最基本的javac java等命令。
    对比Android 发现基本上是殊途同归 基本上都是一些Linux自带的组件和常用命令。
    我们精简ROM不用对这些文件进行精简,请按教程里的目录里的文件时行精简。

    回复
    1. canxueuwhen

      @佐仔, 是这样的,我有一个安桌的ROM,他是一个BIN文件,无法预览里面的内容,也更不可能往下修改。请问,这个文件怎么弄?

      回复
  7. canxuewuhen

    Microsoft Windows XP [版本 5.1.2600]
    (C) 版权所有 1985-2001 Microsoft Corp.

    C:\Documents and Settings\Administrator>javac HelloWorld.java
    ‘javac’ 不是内部或外部命令,也不是可运行的程序
    或批处理文件。

    C:\Documents and Settings\Administrator>

    回复
  8. Jett

    APKMAKE 1.2 版权所无(L) Yonsm.NET,欢迎使用

    打包文件

    签署文件
    ‘java’ 不是内部或外部命令,也不是可运行的程序
    或批处理文件。

    请按任意键继续. . .

    回复
      1. canxuewuhen

        @佐仔, 用你 的方法试了好多次,依然不能解决。能否加我QQ928563033,我好详细向你请教呢。非常感谢

        回复
  9. Jett

    怎么我按教程的做…用你给的那个软件打包不了….是不是要在电脑上先装JAVA?我看到有些教程是这么说的…

    回复
  10. 匿名

    LZ你的教程写的很明白 看完手挺痒痒的 就是 你介绍的那个签名的工具下不了 能不能告诉下名字 或者在做个链接 感谢LZ~

    回复
  11. dcc

    “如果有odex文件的,删除APK文件名时同时也删除与其对应的odex文件。”
    请问odex文件在哪里删除?

    谢谢

    回复
  12. yao

    请教,还是上不去google的问题,但是并不是总上不去,偶尔可以打开,这是为什么。hosts到底应该 怎么弄,难道host不能用了还要经常改吗。好像涉及到权限时候出来一个黑屏,上面显示RU request是什么意思?怎样提权?真纠结这系统连不上google.谢谢!!

    回复

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注