Android 我如何使用Dagger&;黄油刀?
各位开发人员好 我正在尝试从Gradle切换到Buck,但在设置Dagger和Butterknife时遇到问题,因为它们需要注释处理 我找到了一些链接和教程,但它们已经有几(~4)年的历史了,我想可能会有一些更新的方法来做事情 这是我已经看过的: 提前感谢,,Android 我如何使用Dagger&;黄油刀?,android,dagger-2,butterknife,buck,Android,Dagger 2,Butterknife,Buck,各位开发人员好 我正在尝试从Gradle切换到Buck,但在设置Dagger和Butterknife时遇到问题,因为它们需要注释处理 我找到了一些链接和教程,但它们已经有几(~4)年的历史了,我想可能会有一些更新的方法来做事情 这是我已经看过的: 提前感谢,, PatrickBuck支持基于Java的规则的注释处理(包括android_库)。看看buck存储库中如何使用不可变项(到源代码): 首先,您需要声明库JAR: 爪哇大学图书馆( name=“不可变”, 导出的_deps=[ “:生成器
PatrickBuck支持基于Java的规则的注释处理(包括
android_库
)。看看buck存储库中如何使用不可变项(到源代码):
Buck repository一个自定义规则(
java\u immutables\u library
),它添加了这个注释处理器,因此开发人员不需要在每个目标上指定插件。你可能也可以使用类似的方法。在我掌握了窍门之后,感谢就像一个符咒一样有效。现在我的问题是Buck找不到rx/functions/Func1,尽管我正在添加rxjava和rxandroid的依赖项。关于这个问题,我没有足够的信息,但我猜您的注释过程会使用这些导入生成代码,但是AP处理的库不依赖于rxjava库(或者AP不依赖rxjava)。无论如何,你能在这里或github上发表一篇新文章,提供更多信息吗?我发现我使用的Butterknife版本需要rxjava:)。但我现在有一个不同的问题:我设法添加了Dagger和Butterknife处理器,但我不知道javax.annotation的处理器类是什么。
java_library(
name = "immutables",
exported_deps = [
":builder",
":value",
],
visibility = [
"PUBLIC",
],
)
prebuilt_jar(
name = "value",
binary_jar = "value-2.5.6.jar",
source_jar = "value-2.5.6-sources.jar",
licenses = [
"COPYING",
],
)
prebuilt_jar(
name = "builder",
binary_jar = "builder-2.5.6.jar",
source_jar = "builder-2.5.6-sources.jar",
licenses = [
"COPYING",
],
)
java_annotation_processor(
name = "processor",
isolate_class_loader = True,
processor_class = "org.immutables.value.internal.$processor$.$Processor",
visibility = [
"PUBLIC",
],
deps = [
":immutables",
],
)
java_library(
name = "target",
plugins = [
"//third-party/java/immutables:processor",
],
deps = [
...
],
...
)