android - 为现有项目启用注释处理 Android studio 3.3
问题描述
我正在使用 Android Studio 3.3 并尝试在我的项目中使用 Dagger2。但是,注释处理在其中不起作用,并且不会生成注释类。
我将如下库添加到我的 gradle 文件中。
implementation 'com.google.dagger:dagger:2.21'
annotationProcessor 'com.google.dagger:dagger-compiler:2.21'
我还指定了annotationProcessorOptions
javaCompileOptions {
annotationProcessorOptions {
includeCompileClasspath true
}
}
我尝试了什么:
关闭项目。
去配置 -> 设置 -> 构建、执行和部署 -> 编译器 -> 注释处理器并选中“启用注释处理”
从最近的项目列表中删除我的项目
从磁盘重新导入项目。
使缓存无效/重新启动
但是,即使执行了上述步骤,也没有为我当前的应用程序生成注释。我也试过这个和这个,但是第二个链接中的步骤似乎没有出现在我当前的项目设置中,并且编译器选项是灰色的。有没有办法可以为我当前的应用程序启用它们?
解决方案
真正的解决方案是: 1 - 在 .idea/ 文件夹中创建一个 compiler.xml 并在其中编写该代码。
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<annotationProcessing>
<profile default="true" name="Default" enabled="true" />
</annotationProcessing>
</component>
</project>
2-无效并重新启动
推荐阅读
- android - 当我更改应用名称时会发生什么?
- javascript - 为什么 Сhrome 显示 JavaScript setAttribute() 错误
- javascript - flexDirection 导致图像消失
- javascript - 是否有 JavaScript/discord.js 函数可让您编辑十六进制值?
- unity3d - 使用 Unity 制作的 iOS 应用,如何在没有 ATT 提示的情况下继续使用 Admob
- angular - 通用服务 可观察到的潜在冲突
- php - 如何使用 MS Graph API(PHP 插件)在“组日历”中创建事件
- postgresql - 在使用 Knex.js 时,我进行了迁移和种子,但种子数据未显示在 PostgreSQL 数据库中
- javascript - 尝试在 worker_thread 中运行 selenium-webdriver 时出错
- corda - 在 Corda 测试中预期事件时如何添加超时?