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

如何从Android 13 Pixel 6 Pro(Raven)源码中移除NFC HAL模块

彻底移除Android 13 AOSP Pixel 6 Pro的NFC HAL模块

仅删除device-raven.mk中的NFC服务行和manifest_nfc.xml不足以彻底移除NFC模块,因为AOSP中NFC的依赖分布在设备公共配置、HAL编译脚本、框架配置等多个位置,需按以下步骤操作:

  • 清理设备配置中的NFC依赖

    1. 检查device/google/raviole/common/device-common.mk(或同目录下的公共配置文件),删除所有包含android.hardware.nfc的PRODUCT_PACKAGES条目,比如android.hardware.nfc@1.2-service.st、android.hardware.nfc@1.2-impl等。
    2. 在device/google/raviole/raven/device-raven.mk中,删除所有与NFC相关的PRODUCT_COPY_FILES行,例如拷贝NXP固件或配置文件的命令。
  • 禁用NFC HAL编译

    1. 在device/google/raviole/raven/BoardConfig.mk中添加宏定义:
      BOARD_HAS_NO_NFC := true
      
      该宏会让AOSP跳过NFC相关HAL模块的编译逻辑。
    2. 若上述宏未生效,直接修改NFC HAL源码目录(通常为hardware/nfc/nxp)下的Android.bp,注释掉所有编译android.hardware.nfc系列接口的模块定义。
  • 移除框架层的NFC支持

    1. 在device/google/raviole/raven/overlay/frameworks/base/core/res/res/values/config.xml中添加(若overlay目录不存在则创建):
      <bool name="config_nfcEnabled">false</bool>
      
      通过overlay覆盖系统默认配置,关闭NFC框架支持。
    2. 在设备配置文件(device-raven.mk和common.mk)中,删除PRODUCT_PACKAGES中的NfcNci、Tag、NfcService等NFC应用和服务包。
  • 清理缓存并重新编译

    1. 执行m clean清理编译缓存,避免残留模块被打包:
      m clean
      
    2. 重新编译系统并刷机:
      make -j$(nproc)
      fastboot flashall -w
      
  • 验证移除效果
    刷机完成后,执行以下命令确认NFC HAL已被移除:

    lshal | grep nfc
    

    若输出为空,且系统设置中无NFC选项,则说明移除成功。

内容的提问来源于stack exchange,提问作者Ilaveni Ranjith

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 18:13:12