最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

提取ROM

IT圈 admin 33浏览 0评论

2024年1月4日发(作者:风材)

第一章 搭建开发环境

“工欲善其事,必先利其器” 。在开始定制 MIUI ROM 之前,我们需要搭建好必要的开

发环境。

本教程的主旨是如何基于原厂ROM修改。 我们所涉及的修改理论上说是不需要源码的,

对源码开发感兴趣的可以参照 。对于 ROM 开发者来说,我们建议

你下载一份 google 发布的 android 源代码,这不是必需的,但是对于理解排查 ROM 适配中

的一些错误有很大帮助。

1. 操作系统

定制 MIUI ROM 所涉及的技术本身对操作系统没有特殊要求,Windows,Linux 和 Mac

系统都可以。但是 patchrom 项目是基于 Linux 开发的,确切的说,是基于 Ubuntu 开发的,

我们推荐使用 Ubuntu10 以上的版本。

2. 安装 Android SDK

本节简要介绍如何在 Ubuntu 系统上安装 Android SDK。Windows 和

Mac 用户请参照

/sdk/

2.1 安装 JDK

首先需要安装 Java 开发工具包,本文中统一约定$表示 Terminal 中

的命令提示符,其后

的文字表示输入的命令。

$ sudo add-apt-repository "deb /

lucid partner"

$ sudo apt-get update

$ sudo apt-get install sun-java6-jdk

2.2 下载 Android SDK 包

从以下地址下载 Android SDK 包

/android/android-sdk_,

解压到你的 home 目录下,假定解压后的目录为/home/patcher/android-sdk-linux。

接下来编辑 home 目录下的.bashrc 文件,修改 PATH 环境变量:

export

PATH=~/android-sdk-linux/platform-tools:~/android-sdk-linux/toolsPATH。

运行命令. .bashrc 来使对 PATH 环境变量的修改生效。

$ . ~/.bashrc

2.3 安装

运行命令 android 来启动 Android SDK Manager

$ android

启动结果如下图所示:

选中 Android SDK Tools 和 Android SDK

选中 Android SDK Tools 和 Android SDK Platform-tools,然后点击安装,接下来跟随应

用程序的说明进行安装。这一步完成后,我们所需要的 Android SDK 也安装完毕了。

注:在 /sdk/ 网页中,大家会看到需要安装 Eclipse,

定制 MIUI ROM 不需要安装 Eclipse,这个是开发 Android 程序所需

要的,但是强烈建议你

有 Android 程序开发基础。

2.4 adb

Android SDK 中对我们最重要的工具是 adb(android debug bridge)。

在移植 MIUI ROM 过

程中,最常用的命令是 adb logcat,该命令会打印出详细的调试信息,帮助我们定位错误。

为了验证 adb 是否工作,同时也是验证上述的步骤是否成功,打开手机中的系统设置,

选择应用程序—开发, 确保选中 “USB 调试” , 然后用 USB 线连接你的手机, 在 Ubuntu Shell

下运行命令 adb devices,如果显示和下面的信息类似,恭喜你,adb 可以识别你的手机了。

List of devices attached

304D1955996BE28E

device

注意:

(1) 在 Windows 下,必须安装手机相应的驱动才能成功识别手机。

(2) 在 Ubuntu 下,有可能会提示“no such permissi**” ,这个时候有两种办法,第一种是以

root 的身份运行 adb。第二种办法:

a)

运行 lsusb 命令,对于我的三星手机,输出如下:

Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 001 Device 098: ID 04e8:685e Samsung Electronics Co., Ltd

。 。 。

找到手机对应的那一行,记录下 04e8:685e,这个分别表示该设备的

vendorId 和

productId。如果不确定手机对应的是哪一行,可以在连上手机前后运行 lsusb,找

到区别的那一行。

b)

在/etc/udev/rules.d 目录下新建一个文件 。编辑如下:

SUBSYSTEMS=="usb",

ATTRS{idVendor}="04e8",

ATTRS{idProduct}="685e",

MODE="0666", OWNER="登录用户名"

c)

重启 usb 服务,sudo restart udev,重连手机。

3. patchrom 项目

下面介绍 patchrom 的目录结构以及各目录的作用。

android: 该目录下有 2 个子目录:system 和 src。其中 src 目录和将要介绍的 miui/src 目

录是一对一的关系。 android/src 是 google 发布的 android 源码,

miui/src 是 miui 在 google

源码基础上所做的修改。为了节省空间,在这两个目录,我们只放 miui

修改过的文件,

要下载完整的 android 源码,请参照

/source/。

system 目录下存放的是由 google 发布的 android 源码编译而成的三个 jar 包:

, 和 。 这些 jar 包的作用在之后的章节会详细阐

述。

build: 该目录是一些与编译相关的脚本。

tools: 该目录存放一些工具程序和脚本, 在定制 ROM 和编译过程中需要使用这些程序。

miui: 该目录下有 2 个子目录:system 和 src。system 目录下存放

的是由 miui 源代码编

译后的部分文件,这些文件是我们定制 MIUI ROM 所需要用到的所有文件。之后的章

节会详细阐述。

JY-G2: 针对每一个要定制的机型,创建一个单独的目录。该目录存放的是和JY-G2相关的一些修改和文件。之后的章节会以 JY-G2为例详细阐述。

接 下 来 我 们 开 始 编 译 生 成 JY-G2 的 定 制 MIUI ROM , 假

定 当 前 目 录 为

/home/patcher/patchrom 目录,

$ . build/

$ cd JY-G2

$ make zipfile

以上命令运行完毕后,在 JY-G2 目录下会生成一个.build 子目录,该子目录下的

MIUI_ 文件即是我们发布的 JY-G2 刷机包。

2024年1月4日发(作者:风材)

第一章 搭建开发环境

“工欲善其事,必先利其器” 。在开始定制 MIUI ROM 之前,我们需要搭建好必要的开

发环境。

本教程的主旨是如何基于原厂ROM修改。 我们所涉及的修改理论上说是不需要源码的,

对源码开发感兴趣的可以参照 。对于 ROM 开发者来说,我们建议

你下载一份 google 发布的 android 源代码,这不是必需的,但是对于理解排查 ROM 适配中

的一些错误有很大帮助。

1. 操作系统

定制 MIUI ROM 所涉及的技术本身对操作系统没有特殊要求,Windows,Linux 和 Mac

系统都可以。但是 patchrom 项目是基于 Linux 开发的,确切的说,是基于 Ubuntu 开发的,

我们推荐使用 Ubuntu10 以上的版本。

2. 安装 Android SDK

本节简要介绍如何在 Ubuntu 系统上安装 Android SDK。Windows 和

Mac 用户请参照

/sdk/

2.1 安装 JDK

首先需要安装 Java 开发工具包,本文中统一约定$表示 Terminal 中

的命令提示符,其后

的文字表示输入的命令。

$ sudo add-apt-repository "deb /

lucid partner"

$ sudo apt-get update

$ sudo apt-get install sun-java6-jdk

2.2 下载 Android SDK 包

从以下地址下载 Android SDK 包

/android/android-sdk_,

解压到你的 home 目录下,假定解压后的目录为/home/patcher/android-sdk-linux。

接下来编辑 home 目录下的.bashrc 文件,修改 PATH 环境变量:

export

PATH=~/android-sdk-linux/platform-tools:~/android-sdk-linux/toolsPATH。

运行命令. .bashrc 来使对 PATH 环境变量的修改生效。

$ . ~/.bashrc

2.3 安装

运行命令 android 来启动 Android SDK Manager

$ android

启动结果如下图所示:

选中 Android SDK Tools 和 Android SDK

选中 Android SDK Tools 和 Android SDK Platform-tools,然后点击安装,接下来跟随应

用程序的说明进行安装。这一步完成后,我们所需要的 Android SDK 也安装完毕了。

注:在 /sdk/ 网页中,大家会看到需要安装 Eclipse,

定制 MIUI ROM 不需要安装 Eclipse,这个是开发 Android 程序所需

要的,但是强烈建议你

有 Android 程序开发基础。

2.4 adb

Android SDK 中对我们最重要的工具是 adb(android debug bridge)。

在移植 MIUI ROM 过

程中,最常用的命令是 adb logcat,该命令会打印出详细的调试信息,帮助我们定位错误。

为了验证 adb 是否工作,同时也是验证上述的步骤是否成功,打开手机中的系统设置,

选择应用程序—开发, 确保选中 “USB 调试” , 然后用 USB 线连接你的手机, 在 Ubuntu Shell

下运行命令 adb devices,如果显示和下面的信息类似,恭喜你,adb 可以识别你的手机了。

List of devices attached

304D1955996BE28E

device

注意:

(1) 在 Windows 下,必须安装手机相应的驱动才能成功识别手机。

(2) 在 Ubuntu 下,有可能会提示“no such permissi**” ,这个时候有两种办法,第一种是以

root 的身份运行 adb。第二种办法:

a)

运行 lsusb 命令,对于我的三星手机,输出如下:

Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 001 Device 098: ID 04e8:685e Samsung Electronics Co., Ltd

。 。 。

找到手机对应的那一行,记录下 04e8:685e,这个分别表示该设备的

vendorId 和

productId。如果不确定手机对应的是哪一行,可以在连上手机前后运行 lsusb,找

到区别的那一行。

b)

在/etc/udev/rules.d 目录下新建一个文件 。编辑如下:

SUBSYSTEMS=="usb",

ATTRS{idVendor}="04e8",

ATTRS{idProduct}="685e",

MODE="0666", OWNER="登录用户名"

c)

重启 usb 服务,sudo restart udev,重连手机。

3. patchrom 项目

下面介绍 patchrom 的目录结构以及各目录的作用。

android: 该目录下有 2 个子目录:system 和 src。其中 src 目录和将要介绍的 miui/src 目

录是一对一的关系。 android/src 是 google 发布的 android 源码,

miui/src 是 miui 在 google

源码基础上所做的修改。为了节省空间,在这两个目录,我们只放 miui

修改过的文件,

要下载完整的 android 源码,请参照

/source/。

system 目录下存放的是由 google 发布的 android 源码编译而成的三个 jar 包:

, 和 。 这些 jar 包的作用在之后的章节会详细阐

述。

build: 该目录是一些与编译相关的脚本。

tools: 该目录存放一些工具程序和脚本, 在定制 ROM 和编译过程中需要使用这些程序。

miui: 该目录下有 2 个子目录:system 和 src。system 目录下存放

的是由 miui 源代码编

译后的部分文件,这些文件是我们定制 MIUI ROM 所需要用到的所有文件。之后的章

节会详细阐述。

JY-G2: 针对每一个要定制的机型,创建一个单独的目录。该目录存放的是和JY-G2相关的一些修改和文件。之后的章节会以 JY-G2为例详细阐述。

接 下 来 我 们 开 始 编 译 生 成 JY-G2 的 定 制 MIUI ROM , 假

定 当 前 目 录 为

/home/patcher/patchrom 目录,

$ . build/

$ cd JY-G2

$ make zipfile

以上命令运行完毕后,在 JY-G2 目录下会生成一个.build 子目录,该子目录下的

MIUI_ 文件即是我们发布的 JY-G2 刷机包。

发布评论

评论列表 (0)

  1. 暂无评论