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

AOSP13下用Android.bp编译含Hilt的车载系统应用编译报错求助

解决AOSP中Android.bp配置Hilt注解处理的问题

核心原因

Hilt的@HiltAndroidApp、@AndroidEntryPoint这类注解需要注解处理器生成辅助代码才能生效,Gradle插件只是帮你自动封装了注解处理器的依赖配置和参数传递逻辑。你用Android.bp构建时,必须手动完成这些配置,而不是只加hilt_android依赖。

具体解决步骤

1. 添加Hilt注解处理器依赖

在你的Android.bp的deps中补充Hilt注解处理器模块,AOSP中对应的模块为hilt_compiler:

android_app {
    name: "YourCarApplication",
    // 其他原有配置如srcs、resource_dirs等
    deps: [
        "hilt_android",
        "hilt_compiler", // 新增注解处理器依赖
        // 你原有的Compose、车载相关依赖
    ],
}

2. 配置注解处理器参数

AOSP环境下需要关闭Hilt的父类校验,同时要让处理器正确识别你的Application类。在Android.bp中通过javacflags和java_plugins传递参数:

android_app {
    name: "YourCarApplication",
    // 其他原有配置
    javacflags: [
        "-Adagger.hilt.android.internal.disableAndroidSuperclassValidation=true",
    ],
    java_plugins: [
        {
            name: "hilt_compiler",
            args: [
                "dagger.hilt.android.internal.disableAndroidSuperclassValidation=true",
            ],
        },
    ],
}

3. 检查注解标注正确性

确认你的Application类标注无误,没有多余的语法错误:

@HiltAndroidApp
public class YourCarApp extends Application {
    // 业务代码
}

对于标注@AndroidEntryPoint的Activity/Fragment,无需手动修改父类,注解处理器会自动生成对应的代理父类。

4. 验证编译结果

执行编译命令后,检查out/target/common/obj/APPS/YourCarApplication_intermediates/classes目录下是否生成了Hilt_YourCarApp这类辅助类,如果存在则说明注解处理器已正常工作。


内容的提问来源于stack exchange,提问作者Alessandro Demofonti demoa

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 19:58:12