MIUI_ROM制作教程
自己修改安卓刷机包ROM教程
安卓个性化刷机包ROM定制教程本教程分成三个阶段:“删删减减入门篇”、“告别小白基础篇”以及“完全定制进阶篇”,以满足不同层次的机油选学。
提示:入门篇不需要下载任何工具即可定制;基础篇需要用到论坛大大们出品的工具;进阶篇需要配置计算机环境以及大神们制作ROM用的工具,最好有一定的英语基础!确认:本教程需要简单的计算机基础,太太太小白的同志9不要提问鸟。
本贴不设答疑,如果本教程都看不懂,要么百度,要么请放弃,用现成的ROM吧!确认要学就跟我来吧~~重申:刷机有风险,学成后,发布ROM前请先亲测!删删减减入门篇:本教程是最最简单的定制教程,准确一点说,都不能称之为定制,最多叫修改ROM。
方法很简单,只要你的计算机上有预装WINRAR压缩工具即可实现个性化修改。
首先,下载一版比较符号个人喜欢的ROM版本:大神人出品的成品ROM包。
建议选用本人5日发布的华为官方B835版(仅ROOT),这样个人修改后不论操作方便程度还是修改后ROM 的稳定性都有保证一些。
然后,双击下载好的ROM包,自动用WINRAR打开,这里注意:不要解压,弹出WINRAR 解压的界面即可!参照本教程提供的路径,就可以开始修改属于你自己的ROM啦!简单吧,那,咱开始?1、删除讨厌的“蟑螂”(预装应用):路径system/app,找到你看不顺眼的应用,右键直接在WINRAR里删除!删除时把**.APK和**.ODEX两个文件一并删除,有些ROM包作者合并了,直接删除就是,如:Tudou.apk。
论坛置顶贴就有对应的目录,这里就不提供了,如果认不得,请百度搞明白是什么再删!(其实这一步很多余,别人发布的ROM般都ROOT了,刷机后在碗豆上删即可,,方便,还不会出错!)2、改字体:路径:system/fonts。
找一个含你喜欢的字体的ROM,同样用WINRAR找开,直接从一个压缩包拖入你要修改的ROM即可。
新手整个文件夹下的文件全拖入吧~注意:如果要集成应用,应用名不能带中文!3、修改主题和图标:路径:system/framework下有一个framework-res.apk的文件,路径:system/app下有一个SystemUI.apk的文件,方法同2,下一个含你喜欢主题和图标的ROM,直接从一个压缩包拖入你要修改的压缩包替换原文件即可。
MIUI ROM定制教程
MIUI ROM定制教程MIUI ROM 定制教程 (1)序言 (2)第一章搭建开发环境 (3)1.操作系统 (3)2.安装Android SDK (3)2.1 安装JDK (3)2.2 下载Android SDK 包 (3)2.3 安装 (4)2.4 adb (4)3. patchrom 项目 (5)第二章认识Android 手机 (6)1. bootloader (6)2.正常启动 (7)3. System 分区 (8)4. Zygote(app_process) (10)5. data 和cache 分区 (10)6.小结 (10)第三章寻找合适的原厂ROM (11)1.熟悉移植的机型 (11)1.1 逛论坛刷机 (11)1.2 合适的原厂ROM (11)1.3 adb logcat (12)2.修改boot.img (12)3. deodex (14)第四章反编译 (14)1.反编译 (15)2. AndroidManifest.xml (15)3.资源 (16)4. smali (18)第五章移植MIUI Framework (20)1.为什么使用代码插桩 (20)2.移植规范 (20)2.1 android (20)2.2 miui (21)2.3 i9100 (21)3.移植资源 (22)4.修改smali (22)4.1 比较差异 (22)4.2 直接替换 (23)4.3 线性代码 (23)4.4 条件判断 (23)4.5 逻辑推理 (25)5.建议 (26)第六章移植MIUI APP (27)1. MIUI APP 一览 (27)2.一个遗憾:打电话程序 (27)3.一个遗憾引发的问题 (28)4.系统通知栏 (28)5.其它程序 (29)第七章制作刷机包 (29)1.刷机包结构 (29)2. updater-srcript 例解 (30)3.制作刷机包 (35)序言为了帮助广大的MIUI 发烧友将MIUI ROM 移植到自己所喜爱的机型上,MIUI 开发组创建并开源了patchrom 项目,同时发布此配套教程。
自己制作安卓ROM包教程
ROM包的制作教程制作方法一、ROOT目前的民间ROM 基本上已经自带ROOT 所以省略此步骤当然前提得是ROOT过的二、工具准备下载安装附件中的R.explorer管理器(rootexplorer.v2.9.4.apk)这个工具的作用是备份APK 文件、删除APK文件、查看系统目录里面都有什么下载附件中的AndroidResEdit_By_hanhualan...解压到电脑里(如果不能运行则说明你需要安装.NET Framework 2.0)我们主要用这个来对定制包签名三、定制包制作知识一般定制ROM(不是美化、也不是制作MOD)其实就是对手机内存里的system/app文件夹的内容进行自定义,自己安装的软件将不会出现在这里,而是\data\文件夹中。
系统所有的程序都在这个文件夹里,比如浏览器、拨号器、联系人等先来看一下通常情况下这个文件夹里都包含什么:\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\V ending.apk 制造商信息\system\app\V ending.odex\system\app\V oiceDialer.apk 语音拨号器\system\app\V oiceDialer.odex\system\app\Y ouTube.apk Y outube视频\system\app\Y ouTube.odex然后是定制包的结构,定制包的命名一般是XXXX(英文).zip内容包括/system/app/my.apk(你想要放进系统中的程序)/META-INF/com/google/update-script(定制包脚本)/META-INF/CERT.SF(签名文件)/META-INF/CERT.RSA(签名文件)/META-INF/MANIFEST.MF(签名文件)(附件中的custom.zip为范例,大家可以下载直接进行修改)首先应将准备好的程序放进这个ZIP包的/system/app目录里,只要将程序拖进附件中custom.zip的APP目录即可然后删除/META-INF/CERT.RSA和META-INF/CERT.SF这两个文件,为了签名做准备下面我们的来看最后一处需要编辑的地方——脚本四、脚本:现在我们对里面的文件有了大致的了解,那么举例说明,如果我们要做一个基于以上ROM 的定制包,那么大概要进行两种操作1.添加目录里的APK程序到ROM的system/app里2.从ROM里删除APK程序(即瘦身)3.显示进程添加目录的语句为copy_dir PACKAGE:定制包路径手机内存路径删除程序的语句为delete 手机内存路径显示进程语句为show_progress脚本文件可用TXT、记事本等程序作为打开方式并编辑保存作为初学者只需要掌握以下范例即可show_progress 0.1 0delete SYSTEM:app/DivXRegCode.odexdelete SYSTEM:app/Y ouTube.apkcopy_dir PACKAGE:system SYSTEM:show_progress 0.1 10其中对前后两个show_progress语句不需要理解,看中间的,第一句是删除system/spp文件夹内的DivXRegCode.odex文件,第二句是删除system/spp文件夹内的Y ouTube.apk文件,第三句是复制(同时会覆盖已存在的文件)定制包中的system文件夹到手机内存的system 文件夹。
小米手机刷开发版教程
小米手机刷开发版教程小米手机刷开发版教程是一个比较热门的话题,因为许多小米手机用户都想要尝试刷开发版。
本文将详细介绍小米手机刷开发版的步骤和注意事项,希望能够帮助到广大小米手机用户。
首先,刷机之前需要准备以下材料:1. 小米手机:刷机前请备份手机中的重要数据,因为刷机会清空手机中的所有数据。
2. 电脑:需要一台可以连接到互联网的电脑,因为需要下载相关的刷机工具和固件包。
3. USB 数据线:用于将手机与电脑连接。
接下来,我们开始刷机的步骤:步骤一:解锁手机的 bootloader(解锁手机的启动程序,允许用户刷入第三方固件)。
1. 在电脑上打开浏览器,搜索“小米官方解锁工具”,进入小米官方网站下载该工具。
2. 安装解锁工具后,打开工具并按照提示操作,将手机与电脑连接。
3. 在手机中打开“设置”>“开发者选项”,开启“USB 调试”和“OEM 解锁”选项。
4. 返回电脑,解锁工具将检测手机的解锁状态,之后点击“开始解锁”按钮解锁手机。
这个过程中会清空手机数据,请谨慎操作。
步骤二:下载并安装刷机工具1. 在电脑上搜索“小米手机刷机工具”,下载适用于您的手机的刷机工具。
您可以选择Mi Flash 工具或小米刷机助手等工具。
2. 将下载好的刷机工具解压缩,并安装到电脑上。
步骤三:下载并刷入开发版固件1. 在电脑上搜索“小米开发版ROM”,进入小米官方网站下载最新的开发版固件。
2. 将下载好的固件包移动到刷机工具的文件夹中。
3. 打开刷机工具,并选择“选择”选项,找到并选中刚刚下载的固件包。
4. 将手机关机,按住音量“-”键和电源键同时启动手机进入刷机模式。
手机进入 Fastboot 模式后,将手机与电脑通过 USB数据线连接。
5. 回到刷机工具,点击“刷新”按钮,工具将自动识别手机。
6. 确认刷机工具中选择的固件包正确后,点击“刷机”按钮开始刷入固件。
刷机期间请勿断开连接或关闭刷机工具。
7. 刷机完成后,手机将自动重启,进入新的开发版系统。
HTC Desire G7 MIUIROM刷机教程
HTC Desire G7 MIUIROM刷机教程(图文详尽解说)一下载必要文件下载必要的文件,为刷机过程做准备第一步下载MIUI_ROM 最新安装包立即下载如果已经在下载页面下载过最新安装包,无需重新下载。
下载刷机工具包立即下载准备一张剩余空间大于100MB剩余空间的SD卡。
将刷机工具包Flash_Tools.zip解压至电脑桌面。
解压后将目录中Desire_Radio.zip拷贝到SD卡根目录下。
不要解压MIUI_ROM安装包,将其直接拷贝到SD卡根目录下。
最终SD卡目录文件如下图所示。
第二步安装Android驱动(ADB)准备工作:安装必要的Android驱动,为后续刷机作准备。
本步骤安装ADB驱动。
下载地址见此贴,/thread/26/489/20110324/4d8af5d02048ba113-1.html注意:如已经安装过ADB驱动:可略过本步骤第一步在手机上操作使用USB连接线将手机与电脑连接。
在手机弹出的链接提示中选择"只充电"。
在手机桌面按Menu键,进入"设置"界面。
进入应用程序>开发, 将"USB调试"打勾.在电脑上操作鼠标右键点击我的电脑(计算机),选择设备管理器。
找到是否出现一个打着黄色问号的设备(如下图)。
没有找到?说明可能已经安装过ADB 驱动,前往下一步鼠标右键点击带黄色问号设备,选择"更新驱动"。
弹出后点击"下一步",选择"浏览计算机以查找驱动程序" 选择"桌面\G7刷机工具包\Android驱动\adb_driver"目录,即我们存放刷机包的目录。
点击确定开始更新驱动程序。
* 弹出任何警告框时,点击"确认"即可。
三\ 安装Android驱动(HBoot)准备工作:安装必要的Android驱动,为后续刷机作准备。
教你如何制作安卓rom教程(内置两个教程看完之后基本能解决所有难题)
【新手定制ROM入门教程一】如何内置软件删除自己用不到的软件,添加自己想用的软件,其实很简单例如:打开某ROM出现以下文件夹data->app:目录下的软件是在android中可以自由删除软件,不要想的统统删掉,想添加软件直接把APK文件放到此文件夹即可例如:想要在ROM中添加安智市场,只需将安智市场的APK文件放在data->app目录下即可,如下图system->app:目录下的软件是android自带软件,在系统中无法删除的,你可以在这里删除掉,比如youtube之类.关闭打开的RAR即可,重新刷机之后,你发现想删掉的文件没了,想要的出现了.【新手定制ROM入门教程二】如何美化ROM美化ROM包括,字体,图标,壁纸,状态栏的修改.但是这些全部都在framework-res之内.下面给大家提供一个修改framework-res美化界面教程原文如下:”在尝试制作半透明升级包的过程中,我发现有几个图片无论如何也不能透明,即使你挖空它,可能是Android 2.1还不能接受全透明吧……用WinRar打开framework-res.apk,绝大部分要修改的都在res\drawable-mdpi内(不同的ROM可能文件夹名字不一样,但是很快就能找到图片最多那个)。
状态栏要修改的几个文件:还有status_bar_header_background.9.png、status_bar_item_background_normal.9.png可以修改,但是不能改成透明的(至少我修改失败了,不过末将说可以)。
信号和电池要修改的几个文件(某些ROM,如基于Beta7的,还有stat_sys_signal_null.png、stat_sys_signal_5.png、zz_stat_sys_signal_5.png要修改):这些文件大部分通过英文就能明白它们所指的意思。
屏幕锁屏时要修改的(请到drawable-land-mdpi文件夹修改同样名称的几个,drawable-land-mdpi文件夹保存的是横屏时的一些图片):一般需要我们修改的就是任务栏,这些文件基本都在framework-res里面,大家可以在framework-res文件里面查找对应文件并替换就可以了.修改的经验:用Photoshop打开图片,如果锁定了就双击那个图层解锁,如果是“索引模式”就改图层模式为“RGB模式”。
MIUI是什么
MIUI是什么篇一:MIUI_ROM制作教程1.搭建移植环境“工欲善其事,必先利其器”。
在制作自己的ROM之前我们必须做好准备工作,搭建好移植环境。
1.1选择操作系统1.2安装AndroidSDK关于在Linu某,Window和Mac上详细的如何安装AndroidSDK的介绍请参照。
(有人嚷,看不懂鸟语怎么办,首先我真诚的觉得做ROM移植还是懂点基本的鸟语好,第二我必须得承认不懂鸟语也是可以做ROM移植的。
这种情况请大家去google搜索一下,网上有很多如何安装AndroidSDK的中文介绍。
)为了验证这一步是否成功,打开手机中的系统设置,选择应用程序—开发,确保选中“USB调试”,然后用USB线连接你的手机,在UbuntuShell或Window控制台下运行命令adbdevice,如果显示和下面的信息类似,恭喜你,adb可以识别你的手机了。
Litofdeviceattached304D1955996BE28Edevice注意:(1)有可能会提示找不到adb,这个时候请确保将adb所在路径添加到系统的环境变量中。
(2)在Window下,必须安装手机相应的驱动才能成功识别手机。
(3)在Ubuntu下,有可能会提示“nouchpermiion”,这个时候有两种办法,第一种是以root的身份运行。
第二种办法:(3.1)运行lub命令,对于我的三星手机,输出如下:Bu002Device001:ID1d6b:0002Linu某Foundation2.0roothubBu001Device098:ID04e8:685eSamungElectronicCo.,Ltd。
找到手机对应的那一行,记录下04e8:685e,这个分别表示该设备的vendorId和productId。
如果不确定手机对应的是哪一行,可以在连上手机前后运行lub,找到区别的那一行。
(3.2)在/etc/udev/rule.d目录下新建一个文件99-android.rule。
ROM制作及源码编译
ROM制作及源码编译1.ROM制作介绍ROM(Read-Only Memory)是一种只读存储器,它是计算机中用于存储固定数据和程序的一种存储器。
在手机中,ROM指的是操作系统的固定存储器,用于存储系统文件和应用程序。
制作ROM意味着根据自己的需求来打造适合自己的操作系统。
2.ROM制作的准备工作在制作ROM之前,需要准备以下工作:- 安卓开发环境:包括Java开发环境、Android SDK和Eclipse等工具。
-ROM源代码:可以通过官方网站或第三方渠道获取到ROM的源代码。
- 编译工具:使用常见的编译工具如GCC、Ant、Make等工具进行编译。
3.源码编译流程源码编译是ROM制作的核心工作,下面是源码编译的大致流程:- 设置环境变量:设置Java、Android SDK和编译工具的环境变量,方便后续使用。
-编译源码:执行编译命令,将源代码编译成可执行文件。
-生成镜像文件:将编译后的文件按照特定的格式打包成镜像文件。
-刷入设备:将生成的镜像文件刷入目标设备中,完成ROM的制作。
4.ROM制作的注意事项在制作ROM时需要注意以下几个方面:-熟悉目标设备:了解目标设备的硬件配置和特性,以便根据设备的特性进行相应的定制。
-定制需求:根据自己的需求定制ROM,可以增加或移除系统自带应用、修改系统界面等。
-版本兼容性:确保编译的源码和目标设备的版本兼容,避免出现不兼容或无法正常运行的情况。
-参考文档:参考官方文档和其他相关文档,掌握相关编译命令和技巧,提高编译效率和质量。
5.参考资源和进阶学习。
安卓刷机包ROM制作教程
[教程]本帖教你如何亲自打造自己喜欢的华为C8650 ROM玩Android手机可为个层次:1。
最高境界:像大神这样的,对Android系统十分熟悉,能够编写系统代码2。
大大境界:像Liudidi、小白小仙等大大,能够修改代码和编译,需要熟悉linux 系统和具备编程知识3。
高手境界:能够在非代码级修改ROM,美化ROM。
4。
普通境界:会玩,会设置等前两个层次要花大力气学习,向我这样的懒人看样子是达不到了,只能努力达到第三层。
这里我想跟大家分享一下我的修改ROM的方法,其中大部分是总结与论坛中其他帖子,有一小部分是自己总结的经验。
修改ROM大致可分为:精简、增补、美化三类这里主要讨论的是精简和增补两个方面。
本帖子教你如何打造自己喜欢的rom!!!!实战性很强哦······注明:本帖来自安卓网···=============================一。
首先我们来看看ROM中到底有些什么:用WinRAR打开刷机包后可以看到几个目录,下面列出了和我们有关的几个目录和说明dev_data/apps/ : 系统程序的apk文件目录,相当于刷机后"/data/app_s/",这里的程序刷机后不可卸载dev_data/app/ : 用户程序apk文件目录,相当于刷机后"/data/app/",这里的程序刷机后可卸载。
(10月28日以后的版本中才有,以前的版本大家可以自己加这个目录)META-INF/com/google/android/ : 刷机脚本文件system/etc/: 存放了一些配置文件system/etc/permissions/ : 和软件权限有关,部分补丁需要在这个目录中添加文件system/lib/ : 系统程序的库文件存放位置=============================二。
小米仿ios主题教程
小米仿ios主题教程
首先,小米平板2主题是隐藏的,所以不能直接用自己的主题(可以用软件提取出来,但是会闪退),也就有了本文(米板3/4可分别通过搜索应用和茄子快传来打开主题)。
此方法借鉴了MIUI论坛的一个大佬的方法。
第一步:制作ROM
方法借鉴:xxxxxxxxxxxxxxxxxxxx
1.先找一个其他的MIUI设备,把主题啥的都配置(混搭)好,然后用RE进入\data\system\theme(需要root)。
2.去官方下载卡刷包,或者自己找比较好用的卡刷包,然后用刚刚提取出来的theme文件夹中的文件直接覆盖到\system
\media\theme\default文件夹里,制作完成。
第二步:刷入第三方REC及修改过的包
由于是改过的包,所以直接用官方REC刷入卡刷包会提示签名错误。
首选TWRP,刷入方法(包含root方法):xxxxxxxxxxxxxxxxxxx
2.刷入自己改过的卡刷包(方法同刷入root包)
第三步:最终美化
1.壁纸一张
2.软件推荐
小圆角
控制中心
结尾说一嘴,如果嫌包麻烦,还是米板2的话可以直接用我的包。
【ROM制作工具】小白如何进行ROM解包,精简,修改,授权,打包详细图文教程
【ROM制作⼯具】⼩⽩如何进⾏ROM解包,精简,修改,授权,打包详细图⽂教程⼩⽩党,⼩⽩⽤户,如何制作⼀款⼿机刷机包?如何在即使零基础的操作下进⾏ROM解包,精简,修改,授权,打包,等⼀系列的制作ROM操作?⼿机刷机包制作其实并没有想象的那么困难,按照相应的教程步骤制作属于⾃⼰的刷机包。
接下来将和⼤家分享⼀篇制作ROM的详细教程,具体操作如下:准备⼯作:1)【ROM解包】点击ROM制作⼯具中间的“选择线上ROM...或选择本地ROM...”,选择ROM后⼯具开始⾃动解包。
⼯具会⾃动进⾏解包,此过程会耗时⼏分钟,具体速度根据电脑性能⽽定。
2)【ROM精简】⼯具会对ROM⾃动进⾏解包和精简,选择“删除预装推⼴应⽤”进⾏选择性删除,也可以对其他系统应⽤进⾏精简。
【操作菜单】右键单击应⽤,会弹出打开所在⽬录、复制包名、复制应⽤名和删除菜单,可对你单击的应⽤进⾏查看复制和修改。
【深度精简】右键选择-打开所在⽬录,你会看到system分区的所有内容,你可以选择性进⾏删除其他⽂件和内容,建议不要改动不清楚的⽂件。
3)【推⼴应⽤】,选择推⼴应⽤可以看到推⼴套餐。
此功能需要登录【⾃定义套餐】点击“添加⾃定义套餐”选择你想内置的软件,也可以对套餐名进⾏⾃定义,设置完套餐后保存即可,选择 “添加本地应⽤”可以将本地的软件集成在ROM⾥。
4)【信息修改】,进⼊信息修改界⾯,点击修改品牌机型信息只进⾏品牌和机型名称的修改。
点击属性名称,在“修改属性”栏⾥填⼊要修改的值后,点击修改按钮;在“新增属性”栏,输⼊要修改的属性名称和属性值后,点击保存按钮5)【ROOT授权】,默认是不会对ROM进⾏添加ROOT,选择“装⼊ROOT授权”⾃动为rom包添加root,此功能可以ROOT市⾯上绝⼤多数的ROM。
6)【打包】完成上述步骤后,点击“开始打包”,ROM完成后会⾃动命名并弹出所在⽂件夹。
当打包完成后整个制作ROM的所有操作就进⾏完成了。
[S1教程] ROM定制教程:手把手教你做ROM
教程大体分为以下几部分:1。
ROM基础知识2。
ROM制作工具介绍3。
ROM定制4。
ROM定制FAQ5。
DIY及OEM包制作6。
模板的制作7。
移植第一部分:ROM基础知识A。
名词解释1. ROM,RAM,Flash MemoryROM(Read Only Memory)的全名为只读记忆体,是PPC上的硬盘部分用来存储和保存数据。
ROM数据不能随意更新,但是在任何时候都可以读取。
即使是断电,ROM也能够保留数据。
但是资料一但写入后只能用特殊方法或根本无法更改,因此ROM常在嵌入式系统中担任存放作业系统的用途RAM(Random Access Memory)的全名为随机存储记忆体,是PPC上的移动存储部分,用来存储和保存数据的。
它在任何时候都可以读写,RAM通常是作为操作系统或其他正在运行程序的临时存储介质(可称作系统内存)Flash Memory,由于ROM不易更改的特性让更新资料变得相当麻烦,因此就有了Flash Memory的发展,Flash Memory具有ROM不需电力维持资料的好处,又可以在需要的时候任意更改资料,我们常见的FLASH Memory有TF卡(全名:TransFLash卡),SD卡(全名:Secure Digital Memory Card),CF卡(全名:Compact Flash卡)等。
2. XIP,IPL,SPL,RADIOXIP(Execute In Place)中文意:立即执行。
XIP 所起到的作用是让操作系统内核直接在Flash中运行,不需要拷贝到RAM,即指操作系统或应用程序直接从非易失性存储器中执行,这样减少了内核从闪速存储器拷贝到RAM的时间,其采用的非压缩映像也减少了内核自解压的时间,换句话说,XIP直接决定了PPC 系统运行和加载程序的时间,也就是直接决定了PPC系统的运行速度。
IPL(全称:InitialProgramLoader)中文意:首次装载系统,其负责主板,电源、硬件初始化程序,并把SPL 装入RAM,如果IPL损坏,由于不能加载SPL,所以机器将不能装载任何由SPL完成装载的OS系统。
ROM简单制作教程
ROM简单制作教程前言经常看到网友问:哥几个,推荐一个好用的ROM啊?这时候我们要有信心说:自己制作的ROM才是最好的ROM。
当然制作ROM并不是那么简单,但也不是难到一般人做不了。
高端的大大可以从安卓源码开始编译ROM,但也是以团队的形式,比较出名的有CM和MIUI。
一般人还是只能从底包提取文件进行修改制作。
但这也不是轻易能完成的事。
我写这个教程只是出于爱好,本人并非计算机专业,所以写的并不是很专业。
但正因为如此,才能给大家更多的信心,我都能简单制作,你还怕你不行?本篇教程采用一种新的模式给大家展示这个教程。
将会从简单的知识普及,制作工具,步骤等说明,工程巨大,错误也不少,但还是希望能帮助到大家。
以下内容参考到的作者较多,就不一一详说了,感谢这些兄弟的奉献,让我们有一个更好的玩机空间。
关键词:java环境配置。
制作工具 update-script编写美化集成编译反编译一.制作目的:1.培养个人兴趣,感受动手动脑的快乐。
2.学习手机基本知识,最终动手制作自己的ROM。
3.帮助那些需要帮助的朋友(说不定有人喜欢你制作的ROM)二.制作原理:1.安卓基础知识普及:Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。
目前,最新版本为Android 2.4Gingerbread和Android 3.0Honeycomb。
①底包:官方的系统包,相当于我们的Windows的操作系统,事实上它相当于一个纯净版或者内核版的系统包,是最底层的东西。
扩展名为sbf,底包通常是官方发布的,ROM作者直接拿来用的,可以选择的版本不会太多,通常更新也不会频繁。
底包通常使用PC端刷机工具(RSD)配合Bootloader的工程模式完成刷入。
②升级包(镜像包):广大玩家制作的底包增强包,通常表现为一个update.zip 文件。
关于如何定制开发Android第三方ROM,最全开发教程、原理阐述
七、线刷包开发与制作 如何从手机中提取备份分区镜像 Boot校验去除和修改 定制线刷ROM以及将黑砖救活 解屏幕锁、账户锁
博客园 用户登录 代码改变世界 密码登录 短信登录 忘记登录用户名 忘记密码 记住我 登录 第三方登录/注册 没有账户, 立即注册
关于如何定制开发 Android第三方 ROM,最全开发教程、原理阐 述
一 、 首 先 , 搞 明 白 ROM的 概 念 。 广 义 上 对 于 ROM, 有 两 种 定 义 : 1.官方原厂ROM。 就是官方适配的ROM,无修改,原汁原味由品牌厂商自己定制开发的ROM。 2.第三方定制ROM。 意思很明确,就是经过第三方修改定制的系统,可以是在官方原厂ROM的基础上修改、定制功能;也可以移植其他OS,比如MIUI、 Flyme、EMUI等等;其次,还可以是基于源码插桩移植,编译适配的ROM,比如MIUI\Color OS的patchrom项目,或者一些其他的魔趣、 CM等等 由于技术的复杂程度以及内容繁多,在这里不一一阐述。
bionic 目录 |-- libc (C库) | |-- arch-arm (ARM架构,包含系统调用汇编实现) | |-- arch-x86 (x86架构,包含系统调用汇编实现) | |-- bionic (由C实现的功能,架构无关) | |-- docs (文档) | |-- include (头文件) | |-- inet | |-- kernel (Linux内核中的一些头文件) | |-- netbsd (?netbsd系统相关,具体作用不明) | |-- private (?一些私有的头文件) | |-- stdio (stdio实现) | |-- stdlib (stdlib实现) | |-- string (string函数实现) | |-- tools (几个工具) | |-- tzcode (时区相关代码) | |-- unistd (unistd实现) | `-- zoneinfo (时区信息) |-- libdl (libdl实现,dl是动态链接,提供访问动态链接库的功能) |-- libm (libm数学库的实现,) | |-- alpha (apaha架构) | |-- amd64 (amd64架构) | |-- arm (arm架构) | |-- bsdsrc (?bsd的源码) | |-- i386 (i386架构) | |-- i387 (i387架构?) | |-- ia64 (ia64架构) | |-- include (头文件) | |-- man (数学函数,后缀名为.3,一些为freeBSD的库文件) | |-- powerpc (powerpc架构) | |-- sparc64 (sparc64架构) | `-- src (源代码) |-- libstdc++ (libstdc++ C++实现库) | |-- include (头文件)
MIUIROM制作教程——认识Android手机
MIUIROM制作教程——认识Android手机MIUI ROM适配之旅第一天——认识Android手机写这篇文章时想起我的第一部Android手机HTC Hero。
买回来后,同事告诉我可以去刷机玩玩。
刷机,怎么刷?同事说,你个土人,刷机都不知道,很多刷机论坛的,你去逛逛,挺简单的。
我去逛了逛机锋论坛(那时还不知道MIUI),打开一看,什么recovery, radio, root 各种词汇扑面而来,oh my lady gaga,这么复杂。
但是为了不被鄙视,而且闲着也是闲着,还是刷着玩玩吧。
后来就结识MIUI来到了小米。
这是题外话,咱们言归正传。
在这纷纷扰扰的Android世界里,如何找到那条刷机大道呢,或许它只是个传说,我们只是一直在探索。
让我们从零开始来看一看,看能发现点什么。
1. bootloader当我们拿到一款手机,第一件事应该就是按下电源键开机,那么从开机到进入到桌面程序这中间发生了些什么呢,我们从下面这张简化了的手机结构图开始:注意:该结构图并不反映手机的实际分区顺序和位置,只是一个逻辑结构图。
大家可以简单的把手机的ROM存储类比为我们电脑上的硬盘,这个硬盘被分成了几个分区:bootloader分区,boot分区,system分区等等。
后面我们会逐渐介绍各个分区的用途。
所谓的刷机我们可以简单的理解成把软件安装在手机的某些分区中,类似于我们在电脑上安装Windows系统。
当按下电源键手机上电启动后,首先从bootloader分区中一个固定的地址开始执行指令,如图所示,bootloader分区分成两个部分,分别叫做primary bootloader和secondary stage bootloader。
Primary bootloader主要执行硬件检测,确保硬件能正常工作后将secondary stage bootloader拷贝到内存(RAM)开始执行。
Secondary stage bootloader会进行一些硬件初始化工作,获取内存大小信息等,然后根据用户的按键进入到某种启动模式。
MIUI移植基本教程
首先介绍制作rom的环境使用的工具:1.制作环境必须要有一个Linux操作系统,我用的是ubuntu 10.4,JDK6,当然如果你能建立一个完整的编译Android系统的环境更好,如何建立这样的系统,网上有很多文章,这里就不多讲了。
可以在物理硬盘分区上安装Linux,也可以向我一样在VirualBox虚拟机上安装。
2.厨房虽然它只是个在终端下由脚本驱动的程序集,但对我们提高制作rom的效率作用是巨大的完全掌握这个厨房的使用方法,需要写一篇单独的教程,本贴只针对移植所需的相关方法作出说明。
1)解包和打包解包:把要打磨的rom包放到original_update目录中,rom包的类型一般是zip压缩包,也可以是img镜像文件;运行厨房(menu脚本),输入1(Set up working folder from ROM),根据提示选择你要解包的那个文件号,厨房解包并创建工作目录(WORKING_xxx),如果已存在一个WORKING_xxx的工作目录,厨房会自动把它移到到OLD_WORKING目录中。
打包:输入99(Build ROM from working folder),厨房自动打包工作目录然后签名并把rom 文件放到OUTPUT_ZIP目录中。
2)deodex官方发布的rom一般都会把apk中的dex文件抽出并优化修改为同名的odex文件,为了修改它们,需要将这些odex文件打回到各自的apk文件中,在厨房中输入0(ADV ANCED OPTIONS)->11(Deodex files in your ROM),厨房自动搜索工作目录下所有odex文件,根据提示输入即可。
3)文件签名在(ADV ANCED OPTIONS)屏输入21(Sign APK file(s)),厨房搜索工作目录下所有apk 文件,根据提示输入,这里要注意,无论你选择哪一项,厨房都不会自动签名framework目录下的apk文件,需要你输入s(自定义签名文件)。
MIUIROM适配之旅第三天——反编译
MIUIROM适配之旅第三天——反编译首先说句抱歉,今天事情比较多,教程出来的比较晚,请包含。
今后几天也会稍晚一点,但是我会每天更新的。
今天我们来详细的看看反编译,想要修改一个系统自带的应用程序和它的代码,在没有源码的情况下,我们就不得不用反编译来修改。
和很多书籍一样,为了向经典的"Hello, World"致敬,我们也从一个简单的程序开始HelloActivity.apk。
当你把这个APK安装到手机上运行后,在屏幕上就显示一行文字"Hello, World!"(世界我来了!是的,兄弟姐妹们,从今天起我们真正进入反编译的世界,我们来了!)1. 反编译为了介绍方便,从现在起,我会用cracker~$作为命令提示符,其后的文字表示我们需要运行的命令。
如果其后有斜体字,表示命令的输出结果。
cracker~$ apktool d HelloActivity.apk这条命令运行完后,在当前目录下会生成一个名为HelloActivity 的目录。
该目录的结构为(名称后跟/表示这是一个目录):HelloActivity/|--------------AndroidManifest.xml|--------------apktool.yml|--------------res/|--------------smali/apktool.yml是apktool生成的一个配置文件,基本上你不需要修改这个文件。
下面的章节我们逐个介绍剩下的AndroidManifest.xml 文件和res, smali目录。
2. AndroidManifest.xml要想完全理解这个文件,你得对Android的内部运作机制非常清楚。
幸好我们修改一个APK的时候基本上不改这个文件。
这里帮助你有个大致的了解。
Android安装程序一般叫apk文件(apk是Android Package的缩写,表示Android安装包)。
【手把手教你制作ROM】ROM解包、修改、封包工具和教程
【⼿把⼿教你制作ROM】ROM解包、修改、封包⼯具和教程传统的ROM制作都要对system.img进⾏⼿动解压,修改,封包,现在教你⼀键操作,完成ROM制作全部流程,本⽂主要⽤到了rom定制⼤师⼯具,在本⽂中⼩编也为⼤家提供了该⼯具的下载地址,有想要⾃⼰动⼿制作ROM的伙伴们可以看看本⽂。
rom定制⼤师制作ROM包步骤:1. 下载并安装【rom定制⼤师】,下载地址如下所⽰:ROM定制⼤师 V1.3.0 官⽅免费安装版类型:⼿机⼯具⼤⼩:83.7MB语⾔:简体中⽂时间:2018-08-28查看详情2. 点击rom定制⼤师界⾯左上⾓的“解包”按钮后,在⽂件选择框中找到⾃⼰需要解的包,选择后点击“打开”按钮PS:进⼊解包界⾯后,解包时间会根据包的⼤⼩不等,请耐⼼等待⼀会⼉3. 解包后,进⼊信息修改界⾯点击修改品牌机型信息只进⾏品牌和机型名称的修改:也可以点击“信息修改”标签:点击属性名称,在修改属性值中填⼊要修改的值后,点击修改按钮;在新增属性栏,输⼊要修改的属性名称和属性值后,点击修改按钮如果想直接对⽂件进⾏修改,可以点击“修改配置⽂件”按钮(图8),打开配置⽂件所在路径4. 在权限编辑界⾯:点击添加⽂件按钮,可以在rom包中添加⾃⼰需要的⽂件;右键点击⽬录部分,弹出浏览、新建和删除⽬录菜单;右键点击⽬录中的⽂件部分,弹出浏览修改删除⽂件菜单5. 在深度精简界⾯勾选你想要删除的应⽤后,点击删除按钮,即可删去你想删去的应⽤。
右键单击应⽤,会弹出打开所在⽬录、复制包名、复制应⽤名和删除菜单,可对你单击的应⽤进⾏查看复制和修改。
6. 在应⽤推⼴界⾯,可以在rom包中添加应⽤,其中不可卸载应⽤为System分期应⽤,可卸载应⽤为Data分区应⽤;界⾯左边“我的套餐”、“热门应⽤”、“全部应⽤”、“我的应⽤”和“本地应⽤”中的应⽤,需点击添加按钮或⿏标双击该应⽤,才能添加到右边的rom应⽤列表中7. 点击“添加本地应⽤”按钮后,可在弹出的⽂件选择框中,选择格式为.apk格式的应⽤⽂件,添加到本地后,需点击添加按钮,该应⽤才会被添加到rom包8. “我的套餐”“我的套餐管理”和“我的应⽤”部分,需登录(点击界⾯右上⾓登录按钮后,在弹出框中输⼊售后帮账号和密码进⾏登录)后⽅可进⾏:点击我的套餐管理,打开售后帮⽤户后台页⾯;点击我的应⽤,可直接添加你的应⽤9. ⼀键root界⾯,默认不操作,不对rom包进⾏操作,如需root可点击添加按钮添加root⼯具;默认添加,⾃动为rom包添加root⼯具10. 当修改完成rom包后,(需在登录状态)点击打包按钮,会进⼊打包界⾯,打包完成后,点击“打开⽂件夹”便可以在弹出的⽂件夹中找到刚打好的包了以上就是⼩编为⼤家带来的⼿把⼿教你制作ROM的全部过程了,希望可以帮助到⼤家,⼤家如果还有疑问的话,可以在下⽅的评论框内给我们留⾔哦。
最简单的修改刷机包(ROM)的教程(一
最简单的修改刷机包(ROM)的教程(一)---删除和添加软件APK很多人问我怎么修改ROM,最近也有很多人建议我们出教程,而且最近关于MIUI,一直都有人要求我们替换系统相关的程序,我明确告知,我们不会替换,MIUI的修改制作,我们忠实于原版。
原版的BUG需要官方修复。
基于此,大家可以看教程,自己去替换下。
一直都很忙,今天休息下,给大家一个简单的教程。
这个教程只是告诉大家怎么去删减和添加程序,以及怎么适当的精简系统无用文件。
本教程所说的仅以HTC-ROM为例,其他的比如MIUI或者CM有差别。
请自行参考。
一、工具准备:你需要电脑上安装有压缩软件,比如:RAR/7-ZIP等。
本文以7-zip为例。
二、删减和添加APKROM制作是大众化的,个性化时代可能个人需求不同,所以软件需求也会不同。
如果你遇到了不喜欢的软件,就想要删除它,你也可以在刷入ROM后在手机端删除,我在这里给你的是在电脑端直接删除你不需要的程序。
我们刷过机都知道,第三方的ROM都是以ZIP形式存在的,那么就是说ROM是以压缩包的形式封装,刷入其实就是根据脚本命令去覆盖到对应的位置。
我们来具体的操作。
首先用压缩软件,打开ROM,就是****.zip,请记住,是打开,而不是解压缩,方法是鼠标移至ROM文件,点击右键-"打开",或者是压缩软件有一个"打开压缩包"方式打开,打开后是这样的:我们可以看到,上面的图,图中红圈勾出的是一个ROM必备的,META-INF是签名和安装脚本;boot.img 是所谓的核心,写入boot分区的;system是系统的全部文件,包括程序、驱动和相关配置文件等等,写入system分区。
我们可以看到很多ROM都集成了data文件夹,这里放入的一般是写入DATA分区即数据分区的文件夹,这里大多放入的是可卸载软件APK,或者是开机动画,或者是一些数据或执行命令,这是写入DATA分区,也就是我们用手机文件管理器可以查看/Data文件夹里的内容。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 搭建移植环境“工欲善其事,必先利其器”。
在制作自己的ROM之前我们必须做好准备工作,搭建好移植环境。
我们这个系列的主旨是如何基于原厂ROM修改。
我们所涉及的修改理论上说是不需要源码的,对源码开发感兴趣的可以参照。
对于ROM制作者来说,我们建议你下载一份google发布的android源代码,这不是必需的,但是对于理解排查ROM 适配中的一些错误有很大帮助。
1.1 选择操作系统我们MIUI开发组做ROM开发使用的系统是Ubuntu 10以上版本。
做ROM移植,Windows(Windows XP和Windows 7)和Mac都可以。
但是由于开发组的日常使用是Ubuntu 系统,我们将要共享的一些脚本程序都是运行在Ubuntu之上的,以后的介绍基本上是基于Ubuntu的,同时我会尽力提及在Windows下的操作。
Mac我用得非常少,这方面很抱歉。
但是用Mac来移植是完全可以的,大家可以根据本文介绍所需要的工具,参照网上的一些资料来搭建Mac移植环境。
1.2 安装Android SDK关于在Linux, Windows和Mac上详细的如何安装Android SDK的介绍请参照/sdk/installing.html。
(有人嚷,看不懂鸟语怎么办,首先我真诚的觉得做ROM移植还是懂点基本的鸟语好,第二我必须得承认不懂鸟语也是可以做ROM移植的。
这种情况请大家去google搜索一下,网上有很多如何安装Android SDK的中文介绍。
)为了验证这一步是否成功,打开手机中的系统设置,选择应用程序—开发,确保选中“USB 调试”,然后用USB线连接你的手机,在Ubuntu Shell或Windows控制台下运行命令adb devices,如果显示和下面的信息类似,恭喜你,adb可以识别你的手机了。
List of devices attached304D1955996BE28E device注意:(1) 有可能会提示找不到adb,这个时候请确保将adb所在路径添加到系统的环境变量中。
(2) 在Windows下,必须安装手机相应的驱动才能成功识别手机。
(3) 在Ubuntu下,有可能会提示“no such permissions”,这个时候有两种办法,第一种是以root的身份运行。
第二种办法:(3.1) 运行lsusb命令,对于我的三星手机,输出如下:Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubBus 001 Device 098: ID 04e8:685e Samsung Electronics Co., Ltd。
找到手机对应的那一行,记录下04e8:685e,这个分别表示该设备的vendorId和productId。
如果不确定手机对应的是哪一行,可以在连上手机前后运行lsusb,找到区别的那一行。
(3.2) 在/etc/udev/rules.d目录下新建一个文件99-android.rules。
编辑如下:SUBSYSTEMS=="usb", A TTRS{idV endor}="04e8", A TTRS{idProduct}="685e", MODE="0666", OWNER="你的登录身份"(3.3) 重启usb服务,sudo restart udev,重连手机。
adb在我们的移植过程中扮演非常重要的角色,它和接下来要介绍的apktool是移植工作中的双子星座,都是行走江湖必备利器。
在以后的章节中我们会多次和它相遇。
1.3 apktool和baksmali/smali首先建议大家新建一个目录tools,把将要下载的工具都放在这个目录中。
apktool: 这个是我们修改ROM最重要的工具,没有之一。
我们会在下一章整篇文章中详细的介绍它。
地址:/p/android-apktool/smali/baksmali: 它们是Android下dalvik虚拟机的汇编/反汇编器。
apktool实际上是基于smali/baksmali的封装,在下一节中我们会介绍它们的使用场合。
地址:/p/smali/2. 熟悉移植的机型“千里之行,始于足下”。
做移植之前,首先得熟悉我们要移植的机型。
2.1 逛论坛刷机想打人先学会被打,想做刷机包先学会刷机。
先去各大论坛逛逛,了解你的机型是如何刷机的。
在这里,不得不提到一个必逛的论坛:/。
这个期间一定要掌握所在机型的刷机方法,需要用到什么工具,多刷几个ROM玩玩,尽量熟悉刷机过程。
2.2 寻找合适的原厂ROM,确保root什么是合适的原厂ROM呢,首先要版本合适,我们这个系列谈论的是基于原厂ROM移植MIUI,目前2.3的MIUI是基于android2.3.7源码开发的,从android2.3.3到android2.3.7这几个版本变化都不太大,因此2.3.3到2.3.7的原厂ROM版本都是合适的。
4.0的MIUI 在移植时我们也会给出MIUI基于哪一android4.0版本的源码开发的。
其次检查所安装的ROM是否有root权限。
root权限分两种:一种是手机root:这种root权限外在表现是你的手机上安装了一个授权管理软件,当你使用RE管理器的时候会弹出一个对话框询问是否授予root权限。
一种是内核root: 这种是上一种root权限的超集。
判断上述哪种root权限的方法,在Ubuntu Shell或Windows控制台下运行如下命令:adb root(该命令的含义是以root权限运行adb)adb remount(该命令的含义是将system分区的权限设成可读写)如果这两条命令都成功,是内核root。
运行adb shell,可以看到手机shell提示符为#。
如果上述两条命令失败,运行adb shell可以看到手机shell提示符为$。
如果此时运行su命令,手机弹出是否授予root权限,这说明手机上安装了授权管理程序。
这种情况下运行su 命令后,手机shell提示符也会变为#。
我们提供的一些工具是基于你的手机获取了内核root权限,如果是手机root,也是可以的,但是需要修改一下脚本。
因为只是手机root,adb remount命令会失败。
这个时候需要在手机shell里重新remount system分区,并且修改system的目录权限,这样才能修改system分区的内容,而且需要修改我们提供的某些脚本。
(之后不针对只有手机root权限做出特殊说明,我们相信你知道如何在这种模式下修改system分区)。
一般来说我们都能在网上找到仅做过root的原厂ROM。
如果找不到,需要在论坛中找到资料详细的了解如何root,不同机型如何获取root权限不大一样,也不可能在这样的一篇文章中完全列出,大家自己在论坛上多多了解。
最后检查所选择的ROM可以进入Recovery模式刷机,不一定要求必需是CWM Recovery, 有wipe data/cache和安装zip包等功能的简单Recovery就可以,当然有CWM Recovery更好。
2.3 adb logcat前面说过了adb是一个非常重要的命令,其中在机型适配过程中我们最常用的就是adb logcat。
通过这个命令我们可以看到详细的log信息。
每一行的大致格式为:I/ActivityManager( 585): Starting activity: Intent { action=android.intent.action...}其中第一个字母表示信息优先级别(E表示错误,W表示警告,I表示普通信息等)。
斜杠后的ActivityManager表示信息标记tag,通常标记表示了打印出相应信息的模块或程序。
可以通过adb logcat tag:* *:S只显示相应tag打印的所有信息。
括号中的数字表示进程ID(pid),表示程序所在的进程ID。
冒号后的句子就是具体的信息说明了,当我们遇到错误的时候adb logcat会给出详细的错误信息,我们通过这些错误信息去定位错误。
后续的章节会陆续提到。
在机型适配中常用adb logcat *:E来查看所有的错误信息。
详细的adb说明可以参考/guide/developing/tools/adb.html。
在选定好ROM之后,我们要确保在开机之初,差不多是显示开机动画时adb logcat命令就能显示详细的log信息,如果adb logcat只是在桌面程序出现之后才打印信息或者根本不打印任何信息,移植工作很难进行下去。
如果只是简单的修改一些图片资源的话可以,但是对于适配MIUI来说我们要求在适配机型一开始就确保adb logcat功能的正常运行。
3. deodex当把我们要移植的机型刷好做过内核root,可以进入recovery模式刷机的原厂ROM后,第一件事就是需要做deodex。
什么是deodex,啊,这真的是一个long long story。
话说Android发明之日起,准备让开发人员使用Java语言来在Android手机平台上进行应用程序开发(为什么用Java, Java程序员大喊道,谁用谁知道呀)。
Java程序一般使用java 编译器(javac命令)从源文件(.java结尾的文件)编译成类文件(.class结尾的文件,又被称作字节码),一般很多类文件被打包成一个JAR包(JAR包实际是一个zip压缩包),然后用java 虚拟机解释执行这些类文件。
采用类文件格式以及使用标准的Java虚拟机需要向Java的所有者(当时是SUN公司,后来被Oracle公司收购,默哀一下)缴纳授权费用并遵守相应的版权协议。
Google不想缴纳这笔费用并受协议的约束,于是这丫想出来一个“偷天换日,偷梁换柱”的方法,用的是Java的壳,但是那颗心已不是Java的心。
简单来说,就是当编译Android上的Java程序时,第一步还是编译成类文件打包成JAR包,然后会将这个JAR包转换为一个叫classes.dex的文件,这个dex文件是什么玩意呢,这是google发明出来的一个用于它自己的虚拟机上的一个字节码文件格式。
Android上得这个虚拟机就叫做dalvik虚拟机(dalvik是冰岛的一个小镇的名字,当时google的工程师在给这个虚拟机苦思冥想一个名字,后来一个主要的工程师Dan Bronstein我的祖先当初生活在冰岛的这个小镇,就以它命名吧。
据说Dan本人从没去过冰岛,Android发布后,冰岛很是骄傲,当地的报纸专门登载了这件事并热切欢迎Dan回乡探亲)。
那么odex是啥呢,它叫optimized dex,即优化过的dex文件。