You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

用户版AOSP构建中ADB设备无法自动授权的解决咨询

解决AOSP User版本ADB自动授权问题

针对你遇到的问题,以下是具体的排查和修复步骤:

1. 调整adbkey.pub的目标路径

User版本中,/data分区可能存在加密或权限限制,导致adbd启动时无法读取该路径下的adb_keys。建议将公钥文件放到**/system/etc/adb_keys**(系统只读分区,adbd默认会优先读取此路径的授权文件),修改.mk文件:

ifeq ($(TARGET_BUILD_VARIANT),user)
PRODUCT_COPY_FILES += device/XX/YY/adbkey.pub:$(TARGET_COPY_OUT_SYSTEM)/etc/adb_keys
endif

2. 配置文件权限与所有者

确保/system/etc/adb_keys的权限符合adbd的读取要求,在.mk中添加权限配置:

PRODUCT_FS_CONFIGS += $(TARGET_COPY_OUT_SYSTEM)/etc/adb_keys:0644:root:root

此配置设置文件权限为644,所有者和组均为root,保证adbd进程可正常读取。

3. 验证SELinux上下文(若需要)

即使已设置androidboot.selinux=permissive,仍需确保文件的SELinux上下文正确。在设备对应的sepolicy目录下添加file_contexts文件,内容:

/system/etc/adb_keys u:object_r:system_file:s0

并在.mk中引入sepolicy目录:

PRODUCT_SEPOLICY_DIRS += device/XX/YY/sepolicy

4. 确认ADB相关系统属性

在.mk中添加以下属性,确保ADB功能正常启用:

PRODUCT_PROPERTY_OVERRIDES += \
    ro.adb.secure=1 \
    ro.adb.enable=1
  • ro.adb.secure=1:启用安全模式,adbd会读取授权文件验证连接
  • ro.adb.enable=1:确保ADB功能处于开启状态

5. 编译验证

重新编译后,检查out/target/product/YY/system/etc/adb_keys:

  • 文件存在且内容与本地~/.android/adbkey.pub完全一致
  • 使用ls -l查看权限为-rw-r--r-- root root

完成以上步骤后,重新刷入系统,USB连接设备即可实现ADB自动授权。

内容的提问来源于stack exchange,提问作者Tuncay Yıldırım

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 16:22:35