MIUI_ROM制作教程

合集下载

自己修改安卓刷机包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定制教程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包教程

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刷机教程

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入门教程一】如何内置软件删除自己用不到的软件,添加自己想用的软件,其实很简单例如:打开某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的话可以直接用我的包。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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文件。

相关文档
最新文档