刷写设备  

您所在的位置:网站首页 reboot-bootloader翻译 刷写设备  

刷写设备  

2024-07-11 07:05| 来源: 网络整理| 查看: 265

本页详细介绍了如何在特定设备上运行 build。这些详细信息是对构建 Android 部分的补充。

注意:您可以使用 Android 刷写工具从 Android 持续集成信息中心刷写现有 build。如需了解详情,请参阅 Android 刷写工具页面。 构建 fastboot 和 adb

如果您还没有 fastboot 和 adb,可以使用常规构建系统进行构建。请按照构建 Android 中的说明操作,并将主 make 命令替换为以下命令:

make fastboot adb

如需详细了解 Android 调试桥 (adb),请参阅 Android 调试桥 (adb)。

启动进入 Fastboot 模式

您可以在设备处于 fastboot 引导加载程序模式时刷写设备。如需在设备进行冷启动时进入 fastboot 模式,请使用 fastboot 组合键中指定的组合键。

您也可以使用 adb reboot bootloader 命令直接重新启动进入引导加载程序。如需查看完整说明,请参阅刷写说明。

解锁引导加载程序

只有在引导加载程序允许的情况下,您才可以刷写自定义系统。但请注意,引导加载程序默认处于锁定状态。您可以解锁引导加载程序,但这样做会导致系统出于隐私原因而删除用户数据。解锁之后,系统会清空设备上的所有数据,即应用中的私人数据以及可通过 USB 访问的共享数据(包括照片和影片)。请先备份设备上的所有重要文件,然后再尝试解锁引导加载程序。

您只需解锁引导加载程序一次,并可视需要将其重新锁定。

解锁最近使用的设备

自 2014 年以来发布的所有 Nexus 和 Pixel 设备(从 Nexus 6 和 Nexus 9 开始)都内置有恢复出厂设置保护功能,需要执行多个步骤才能解锁引导加载程序。

如需在设备上启用 OEM 解锁功能,请执行以下操作:在“设置”中,点按关于手机,然后点按版本号七次。 当看到“您现在处于开发者模式!”这条消息后,点按返回按钮。 在“设置”中,依次点按系统和开发者选项,然后启用 OEM 解锁和 USB 调试。(如果 OEM 解锁处于停用状态,请连接到互联网,以便设备可以至少登记一次。如果“OEM 解锁”仍处于停用状态,说明设备可能已被运营商锁定 SIM 卡,系统无法解锁引导加载程序。) 重新启动进入引导加载程序,然后使用 fastboot 解锁。对于新款设备(2015 年及之后发布的设备): fastboot flashing unlock 对于老款设备(2014 年及之前发布的设备): fastboot oem unlock 提示:如果您在重新启动前看到“adb devices”输出,但 fastboot 或刷写脚本运行异常,则可能是您的 USB 线有问题。请尝试使用其他端口和/或切换连接器。如果您在计算机上使用 USB C 端口,请尝试改用 USB A 端口。 在屏幕上确认解锁。 注意:在 Nexus 10 上,解锁引导加载程序后,内部存储空间仍将保持未格式化状态。您可以依次使用 fastboot format cache 和 fastboot format userdata 来格式化设备。重新锁定引导加载程序

如需重新锁定引导加载程序,请执行以下命令:

对于新款设备(2015 年及之后发布的设备): fastboot flashing lock 对于老款设备(2014 年及之前发布的设备): fastboot oem lock 注意:在 Motorola Xoom 上重新锁定引导加载程序会清空所有用户数据(包括共享的 USB 数据)。 使用刷写锁定状态

getFlashLockState() 系统 API 会传输引导加载程序状态,PersistentDataBlockManager.getFlashLockState() 系统 API 会返回兼容设备上引导加载程序的锁定状态。

返回值 条件 FLASH_LOCK_UNKNOWN 仅升级到 Android 7.x 或更高版本且符合以下条件的设备会返回此值:设备支持刷写锁定/解锁功能,但之前不支持获取刷写锁定状态所需的引导加载程序变更。运行 Android 7.x 或更高版本的新设备必须处于 FLASH_LOCK_LOCKED 或 FLASH_LOCK_UNLOCKED 状态。 升级到 Android 7.x 或更高版本且不支持刷写解锁/锁定功能的设备应返回 FLASH_LOCK_LOCKED 状态。 FLASH_LOCK_LOCKED 不支持刷写锁定/解锁的所有设备(即设备始终处于锁定状态)或支持刷写锁定/解锁且处于锁定状态的所有设备会返回此值。 FLASH_LOCK_UNLOCKED 支持刷写锁定/解锁且处于解锁状态的所有设备会返回此值。

制造商应测试由已锁定/解锁引导加载程序的设备返回的值。举例来说,Android 开源项目 (AOSP) 包含一个参考实现,该实现返回基于 ro.boot.flash.locked 引导属性的值。示例代码位于以下目录中:

frameworks/base/services/core/java/com/android/server/PersistentDataBlockService.java frameworks/base/core/java/android/service/persistentdata/PersistentDataBlockManager.java 选择设备 build

lunch 菜单中提供了建议的设备 build,在不使用任何参数的情况下运行 lunch 命令即可查看。 如需详细了解 lunch 命令,请参阅选择目标。如需查看构建目标的列表,请参阅构建目标。

您可以从 developers.google.com 下载 Pixel 和 Nexus 设备的出厂映像和二进制文件。有关下载内容,请参阅设备二进制文件。有关详情以及其他资源,请参阅获取专有二进制文件。

设备 代号 build 配置 Pixel 7 Pro 猎豹 aosp_cheetah-userdebug Pixel 7 panther aosp_panther-userdebug Pixel 6 Pro raven aosp_raven-userdebug Pixel 6 oriole aosp_oriole-userdebug Pixel 5 redfin aosp_redfin-userdebug Pixel 4a 5G bramble aosp_bramble-userdebug Pixel 4a sunfish aosp_sunfish-userdebug Pixel 4 XL coral aosp_coral-userdebug Pixel 4 flame aosp_flame-userdebug Pixel 3a XL bonito aosp_bonito-userdebug Pixel 3a sargo aosp_sargo-userdebug Pixel 3 XL crosshatch aosp_crosshatch-userdebug Pixel 3 blueline aosp_blueline-userdebug Pixel 2 XL taimen aosp_taimen-userdebug Pixel 2 walleye aosp_walleye-userdebug Pixel XL marlin aosp_marlin-userdebug Pixel sailfish aosp_sailfish-userdebug HiKey hikey hikey-userdebug Nexus 6P angler aosp_angler-userdebug Nexus 5X bullhead aosp_bullhead-userdebug Nexus 6 shamu aosp_shamu-userdebug Nexus Player fugu aosp_fugu-userdebug Nexus 9 volantis (flounder) aosp_flounder-userdebug Nexus 5 (GSM/LTE) hammerhead aosp_hammerhead-userdebug Nexus 7 (WLAN) razor (flo) aosp_flo-userdebug Nexus 7(移动版) razorg (deb) aosp_deb-userdebug Nexus 10 mantaray (manta) full_manta-userdebug Nexus 4 occam (mako) full_mako-userdebug Nexus 7 (WLAN) nakasi (grouper) full_grouper-userdebug Nexus 7(移动版) nakasig (tilapia) full_tilapia-userdebug Galaxy Nexus (GSM/HSPA+) yakju (maguro) full_maguro-userdebug Galaxy Nexus (Verizon) mysid (toro) √aosp_toro-userdebug Galaxy Nexus(实验版) mysidspr (toroplus) aosp_toroplus-userdebug Motorola Xoom(美国 WLAN 版) wingray full_wingray-userdebug Nexus S soju (crespo) full_crespo-userdebug Nexus S 4G sojus (crespo4g) full_crespo4g-userdebug 注意:请不要在原本搭载 Android 4.1.2 或更高版本的 Nexus 7 上使用 Android 4.1.1。刷写设备

您可以通过运行一个命令来刷写整个 Android 系统;这样做可验证并确保正在被刷写的系统与已安装的引导加载程序和无线驱动程序兼容,还可以将启动、恢复和系统分区一起写入,然后重新启动系统。与 fastboot oem unlock 类似,刷写设备也会清空所有用户数据。

如需刷写设备,请执行以下操作:

将图片文件解压缩到其自己的目录中。 注意:图片文件不得为无线下载文件。无线下载文件的安装方式有所不同。 将 ANDROID_PRODUCT_OUT 环境变量设为指向第 1 步中使用的同一目录。 在启动时按住相应的组合键或使用以下命令使设备进入 fastboot 模式: adb reboot bootloader 在设备处于 fastboot 模式后,运行以下命令: fastboot flashall -w -w 选项会擦除设备上的 /data 分区;该选项在您第一次刷写特定设备时非常有用,但在其他情况下则没必要使用。 注意:使用 fastboot 创建的文件系统在 Motorola Xoom 上无法发挥最佳作用。Android 团队建议您使用 $ adb reboot recovery 通过恢复模式重新创建文件系统。在恢复模式下,打开菜单(同时按电源键和音量调高键),擦除缓存分区,然后擦除数据。 闪光灯配置

fastboot 指令详细列出在一个名为 fastboot-info.txt 的工件,该工件位于 $ANDROID_PRODUCT_OUT/* 中。此文档列出了由 fastboot 执行的任务列表,并且可通过 m fastboot_info 重新生成。您可以通过修改此文件来引入自定义刷写逻辑

支持的命令:

flash %s:刷写指定分区。可选参数包括 --slot-other, {filename_path}, --apply-vbmeta update-super:更新 super 分区 if-wipe:如果指定了 wipe,则有条件地运行一些其他功能 erase %s:清除指定分区,只能与 if-wipe 结合使用 -> 例如 if-wipe erase cache 将设备恢复为出厂状态

您可以在 Nexus 和 Pixel 设备的出厂映像上查看 Google 设备的出厂映像。Motorola Xoom 的出厂映像由 Motorola 直接分发。

解决“权限遭拒”相关错误

默认情况下,在大多数 Linux 系统中,无特权的用户无法使用 USB 端口。如果您看到“权限遭拒”错误,请参阅 Android Studio 的说明来设置设备以用于开发工作。

如果 adb 已在运行且无法连接到设备,您可以使用 adb kill-server 停止 adb。此命令将使 adb 来重启并采用新配置。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3