为设备构建

为设备构建

这页补充主页关于个人设备的构建细节。

支持当前发布的设备是 Galaxy Nexus,Motorola Xoom,Nexus S 和 Nexus S 4G。

Galaxy Nexus 支持仅仅 GSM/HSPA+ 配置 "maguro" 和仅仅假如它是最初出售的 "yakju" 或 "takju"操作系统。

Motorola Xoom 支持在 USA 出售的 Wi-fi 配置 "wingray"。

Nexus S 支持所有配置。Nexus S 4G 是被支持的。

另外,PandaBoard a.k.a. "panda" 仅仅支持主分支,但是当前认为实验。细节描述用一个 PandaBoard 使用 Android 开源项目在源树文件 device/ti/panda/README

Nexus One a.k.a. "passion" 是过时的,是实验在 gingerbread 并且不被支持,不能用 Android 开源项目的新版本。

Android 开发者电话 (ADP1 和 ADP2, a.k.a. "dream" 和 "sapphire") 是过时的,实验和不被支持在 froyo,并且不能用 Android 开源项目的新版本。

在 Android 开源项目,没有 CDMA 设备是被支持的。

构建 fastboot 和 adb

假如你不是已经有这些工具,fastboot 和 adb 能被构建用合格构建系统。这页下面的介绍关于构建,和替换主 make 命令用

$ make fastboot adb

开机到 fastboot模式

一个冷开机期间,下面的键组合能被用来开机到 fastboot 模式,bootloader 的一个模式能被用来烧写设备:

设备
maguro 按下和保持两者音量上音量下,然后按下和保持电源
panda 按下和保持输入,然后按电源
wingray 按下和保持音量下, 然后按下和保持电源
crespo 按下和保持音量上, 然后按下和保持电源
passion 按下和保持轨迹球,然后按电源
sapphire 按下和保持返回,然后按电源
dream 按下和保持返回,然后按电源

还有,在设备运行 froyo 或后来的,adb 是使能的,命令 adb reboot bootloader 能被用来重启从 Android 直接到 bootloader 里面不用键组合。

解锁引导程序

仅仅可能烧写一个定制系统,假如引导程序允许它。

这是默认设置在 ADP1 和 ADP2。

在 Nexus One,Nexus S,Nexus S 4G,Xoom,和 Galaxy Nexus 上,引导程序默认是锁的。设备进入 fastboot 模式,引导程序解锁用

$ fastboot oem unlock

过程必须被确认在屏幕上,并且删除用户数据因为隐私的原因。它仅仅需要被运行一次。

注意在 Nexus S,Nexus S 4G,Motorola Xoom 和 Galaxy Nexus 上,所有电话上的数据被擦除。即包括应用的私有数据和访问过 USB的共享数据,包括照片和视频。确认制作一个任意珍贵文件的备份,在你解锁 bootloader 前。

在 Nexus One 上,这个行为使保修无效并且是不可逆的。

在 Nexus S,Nexus S 4G,Xoom,和 Galaxy Nexus 上,引导程序能被锁回用

$ fastboot oem lock

注意,这是擦除用户的数据在 Xoom 上(包括共享 USB 数据)。

获得专有二进制文件

开始 IceCreamSandwich,the Android 开源项目不能被用来从仅仅纯源代码,并且需要附加硬件相关所有权来运行库,特别的硬件图形加速。

Nexus S,Nexus S 4G,Galaxy Nexus和 PandaBoard 的官方二进制文件能被下载从Google 的 Nexus 驱动页,添加访问附加的硬件能力用非开源代码。

当一个设备被支持在主分支,大部分最近的二进制文件编号发布是应该被用在主分支的一次。

Nexus One,ADP2 或 ADP1是没有官方二进制文件。

提取专有二进制文件

每组二进制文件作为一个自提取脚本在一个压缩存档。解压每个存档后,运行包括自提取脚本从源树的根,确认你同意封闭许可协议条款,并且二进制文件和它们匹配 makefileswill 获得安装在源树的供应商/阶层。

当加入专有二进制文件的清理

为了确定新安装的二进制文件是正确的,考虑到被提取后的账户,现有输出任何现有构建需要被删除用

$ make clobber

选择和构建匹配一个设备的配置

这个步骤配置和构建 Android 开源工程描述在这页关于构建。

推荐构建为各个设备是有效的通过 lunch 菜单,当运行 lunch 命令没有参数时访问:

设备 分支 构建配置
maguro android-4.0.4_r2.1 或主 full_maguro-userdebug
panda full_panda-userdebug
wingray android-4.0.4_r2.1 或主 full_wingray-userdebug
crespo android-4.0.4_r2.1 或主 full_crespo-userdebug
passion android-2.3.7_r1 full_passion-userdebug
sapphire android-2.2.3_r1 full_sapphire-userdebug
dream android-2.2.3_r1 full_dream-userdebug

烧写一个设备

设置设备到 fastboot 模式,假如必须 (看上面)。

因为用户的数据和构建 Android 之间是通常不相容的,当烧写一个新系统,删除它通常是更好的。

$ fastboot erase cache
$ fastboot erase userdata

一个整个 Android 自同能被烧写用一个单命令:写启动,恢复和系统分区一起在验证之后,系统被烧写是兼容安装启动引导和收音机,和重启系统。

$ fastboot flashall

在所有设备上除了分区,上面的命令能被替换用一个单命令

$ fastboot -w flashall

注意,文件系统创建通过 fastboot 在 Motorola Xoom 上是不工作最佳的,并且强烈推荐重创建它们通过恢复

$ adb reboot recovery

一旦恢复,打开菜单(按电源+音量上),擦除缓存分区,然后擦除数据。

Nexus S,Nexus S 4G 和 Galaxy Nexus 启动引导和细胞电台兼容

在 Nexus S,Nexus S 4G 和 Galaxy Nexus 上,Android 的每个版本有仅仅通过测试相关启动引导程序的特定版本和细胞电台软件。然而,不兼容问题是预期的。当运行新的系统同旧的引导程序和电台镜像根据下面的表。

Nexus S (全世界版本 "XX",i9020t 和 i9023):

Android版本 首先引导程序 首选电台 还有可能
2.3 (GRH55) I9020XXJK1 I9020XXJK8  
2.3.1 (GRH78) I9020XXJK1 I9020XXJK8  
2.3.2 (GRH78C) I9020XXJK1 I9020XXJK8  
2.3.3 (GRI40) I9020XXKA3 I9020XXKB1 所有以前版本
2.3.4 (GRJ22) I9020XXKA3 I9020XXKD1 所有以前版本
2.3.5 (GRJ90) I9020XXKA3 I9020XXKF1 所有以前版本
2.3.6 (GRK39F) I9020XXKA3 I9020XXKF1 所有以前版本
4.0.3 (IML74K) I9020XXKL1 I9020XXKI1 所有以前版本
4.0.4 (IMM76D) I9020XXKL1 I9020XXKI1  
4.0.4 (IMM76I) I9020XXKL1 I9020XXKI1  
4.0.4 (IMM76K) I9020XXKL1 I9020XXKI1  
4.0.4 (IMM76L) I9020XXKL1 I9020XXKI1  

Nexus S (850MHz 版本 "UC",i9020a):

Android版本 首选引导程序 首选电台 还有可能
2.3.3 (GRI54) I9020XXKA3 I9020UCKB2  
2.3.4 (GRJ22) I9020XXKA3 I9020UCKD1 所有以前版本
2.3.5 (GRJ90) I9020XXKA3 I9020UCKF1 所有以前版本
2.3.6 (GRK39C) I9020XXKA3 I9020UCKF1 所有以前版本
2.3.6 (GRK39F) I9020XXKA3 I9020UCKF1 所有以前版本
4.0.3 (IML74K) I9020XXKL1 I9020UCKF1 所有以前版本
4.0.4 (IMM76D) I9020XXKL1 I9020UCKJ1  
4.0.4 (IMM76I) I9020XXKL1 I9020UCKJ1  
4.0.4 (IMM76K) I9020XXKL1 I9020UCKJ1  
4.0.4 (IMM76L) I9020XXKL1 I9020UCKJ1  

Nexus S (韩国版本 "KR",m200):

Android版本 首选引导程序 首选电台 还有可能
2.3.3 (GRI54) I9020XXKA3 I9020KRKB3  
2.3.4 (GRJ22) I9020XXKA3 M200KRKC1 所有以前版本
2.3.5 (GRJ90) I9020XXKA3 M200KRKC1 所有以前版本
2.3.6 (GRK39F) I9020XXKA3 M200KRKC1 所有以前版本
4.0.3 (IML74K) I9020XXKL1 M200KRKC1 所有以前版本
4.0.4 (IMM76D) I9020XXKL1 M200KRKC1  
4.0.4 (IMM76I) I9020XXKL1 M200KRKC1  
4.0.4 (IMM76K) I9020XXKL1 M200KRKC1  
4.0.4 (IMM76L) I9020XXKL1 M200KRKC1  

Nexus S 4G (CDMA/WiMAX 版本, d720):

Android版本 首选引导程序 首选电台 还有可能
4.0.4 (IMM76L) D720SPRKE1 D720SPRLC1  

Galaxy Nexus (GSM/HSPA+):

Android版本 首选引导程序 首选电台 还有可能
4.0.1 (ITL41D) PRIMEKJ10 I9250XXKK1  
4.0.2 (ICL53F) PRIMEKK15 I9250XXKK6 所有以前版本
4.0.3 (IML74K) PRIMEKL01 I9250XXKK6 所有以前版本
4.0.4 (IMM76D) PRIMELA03 I9250XXLA02  
4.0.4 (IMM76I) PRIMELA03 I9250XXLA02  
4.0.4 (IMM76K) PRIMELA03 I9250XXLA02  
4.0.4 (IMM76L) PRIMELA03 I9250XXLA02  

假如你是构建一个 Android 的,假如你的 Nexus S,Nexus S 4G 或 Galaxy Nexus 有一个旧的引导程序和电台镜像,是标记作为是还有可能在上面的表,但是不认可 fastboot,你能局部性地删除 version-bootloaderversion-baseband 行在 device/samsung/crespo/board-info.txtdevice/samsung/maguro/board-info.txt

恢复一个设备到它的原出厂状态

Galaxy Nexus (GSM/HSPA+ "yakju" 和 "takju",和 CDMA/LTE "mysid")的出厂镜像和 Nexus S (和所有变种)是可用的从Google 的出厂镜像页。

Motorola Xoom 的出厂镜像是直接由 Motorola 发布。

Nexus One 没有有效的出厂镜像。

你可能感兴趣的:(为设备构建)