Android16 更新fastboot版本解决fastbootd模式识别不到设备问题
文章目录
一、前言
最近开发EDLA项目才用到fastbootd模式,之前主要是用fastbootd模式烧录镜像。
fastboot和fastbootd差异对比表
| 对比维度 | Fastboot 模式 | Fastbootd 模式 |
|---|---|---|
| 底层架构 | 基于 Bootloader(硬件级) | 基于 Android 内核(用户空间级) |
| 支持系统版本 | 所有 Android 版本 | Android 10+(API 29+) |
| 适配分区架构 | 非动态分区、A/B 分区(仅基础操作) | 动态分区 + A/B 分区(核心适配) |
| 可刷写分区 | boot、recovery、userdata、cache 等基础分区 | system、vendor、product、odm 等动态分区 |
| 进入方式 | 按键组合、adb reboot bootloader | 从 Fastboot 切换、adb reboot fastboot |
| 核心优势 | 兼容性强(老设备支持)、操作简单 | 支持动态分区、适配 A/B 无缝更新、功能更全 |
| 限制 | 无法刷写动态分区的系统核心分区 | 老设备不支持、依赖 A/B 架构 |
vendor也有在fastboot烧录的,不同的系统要求不同。
之前可以识别fastboot,但是在Android16 有可能存在识别不到fastbootd设备的情况;
我这里是fastboot版本低换成新版本的fastboot就能识别了。
下面简单记录一下。
二、fastbootd识别不到分析解决
adb、fastboot主要命令:
adb devices //保证adb 能识别到设备
adb reboot bootloader //进入fastbootd模式
fastboot devices //需要保证识别到fastboot设备
fastboot reboot fastboot //进入fastboot的模式
fastboot devices //可看到fastbootd设备
1、保证可以正常识别 fastboot devices
如果 adb reboot bootloader 识别不到设备,就去电脑的设备管理,查看一下是否存在未知设备。
比如这种情况:

接入usb线后,其他设备有个“t7-an400”是显示感叹号的。说明驱动是异常的。
可以右键手动更新驱动看看,或者安装驱动精灵可以自动更新驱动配置。
fastboot驱动有了就能在设备管理里面看到,大概如下图标:

从cmd窗口确认是否可以识别fastboot:

上面可以看到我的fastboot版本比adb版本高,是因为我替换了fastboot.exe文件。
才能保证电脑识别Android16 设备的fastbootd模式。
Android设备进入fastbootd模式的界面:

设备显示上面界面后,cmd串口输入:fastboot devices 有设备列表就表示识别到了;
没有的话,估计就是无法识别fastboot了,有可能更新fastboot应用就能识别。
刚开始我也是只能识别fastboot,无法识别fastbootd,更新fastboot文件版本后就能识别fastbootd了。
2、adb、fastboot版本下载更新
其实下载adb套件,里面就包含了fastboot程序:

当前最新官方版本:36.0.0 (2025 年 4 月发布)
3、官方下载链接(推荐)
| 操作系统 | 下载链接 |
|---|---|
| Windows | https://dl.google.com/android/repository/platform-tools-latest-windows.zip |
| macOS | https://dl.google.com/android/repository/platform-tools-latest-darwin.zip |
| Linux | https://dl.google.com/android/repository/platform-tools-latest-linux.zip |
特点:这些链接会自动指向最新版本,无需手动查找更新。国内网址也能访问。
4、下载安装步骤
-
(1)Windows 系统
-
- 访问上述 Windows 下载链接,下载 zip 文件
- 解压到指定目录(如:C:\adb)
- 配置环境变量:
- 右键 "此电脑"→属性→高级系统设置→环境变量
- 在系统变量中找到 "Path"→编辑→新建→添加 adb 路径(如:C:\adb\platform-tools)
- 保存并关闭
- 验证安装:打开命令提示符,输入
adb --version,显示版本信息即成功
-
(2) macOS 系统
-
- 下载 macOS 版本 zip 文件
- 解压到用户目录(如:~/adb)
- 配置环境变量:
- 打开终端,编辑
~/.bash_profile或~/.zshrc - 添加
export PATH="$PATH:~/adb/platform-tools/" - 保存后执行
source ~/.bash_profile或source ~/.zshrc
- 打开终端,编辑
- 验证:终端输入
adb version
-
(3) Linux 系统(推荐)
-
方法一:使用包管理器(推荐,自动更新)
-
- Ubuntu/Debian:
sudo apt update && sudo apt install android-tools-adb - Fedora:
sudo dnf install android-tools
- Ubuntu/Debian:
-
方法二:手动下载
-
- 同 macOS 步骤,下载解压后将路径添加到
~/.bashrc的 PATH 变量
- 同 macOS 步骤,下载解压后将路径添加到
-
5、验证与使用
-
- 验证安装:
adb --version→ 显示版本号和安装路径 - 基础使用:连接设备后,在命令行执行 adb 命令
- 验证安装:
如果更新了fastboot还是无法识别fastbootd,需要另外分析了。
三、其他
1、小结
如果能识别fastboot,但是无法识别fastboot device的情况,
可以试试更新整个adb或者更新fastboot.exe文件。
也不排除,是系统后续修改导致无法进入fastbootd的。
2、uboot otg时序异常导致无法进入fastbootd解决
+++ b/release/debug/board_code/K81A_base/bootloader/uboot-repo/bl33/v2019/cmd/amlogic/cmd_skg_hw.c
@@ -118,6 +118,9 @@ static int do_init_skg_ir_power_key(cmd_tbl_t *cmdtp, int flag1, int argc, char
void do_usb_hub_init(int mode)
{
+
+ ebsw_set_gpio_value(AT9555_GPIO_IO0_6,1);
+ skg_set_gpio(GPIOT_4, 0);
if (mode == 1) {
ebsw_set_gpio_value(AT9555_GPIO_IO0_4,1);
ebsw_set_gpio_value(AT9555_GPIO_IO0_0,1);
E06:~/311D2/Android16/release$
上面代码是修改了整otg时序;
这部分代码是定制的,底层其他人员修改的。
仅供参考,不一定通用。
3、Android16 EDLA HDMI OUT投屏默认通过设置
如果是整机测试,可以点击右边“Mirror display”确认可以投屏到外部;开发板就无法点击了。
如果是板块测试,就要默认支持HDMI out,这就要适配系统的代码了。
https://blog.csdn.net/wenzhi20102321/article/details/154583383

1万+

被折叠的 条评论
为什么被折叠?



