Android 工作室:ButterKnife 6.1.0 重复 Class:$$View 喷油器
Android Studio: ButterKnife 6.1.0 Duplicate Class: $$View Injector
我将我的项目从 Eclipse 迁移到 AS,因为我遇到了 65K 方法问题。在解决了我最初使用 AS 时遇到的每个依赖性问题后,我陷入了这个问题,无论我从博客和 SO 本身的其他类似帖子中尝试什么,这个问题似乎都没有消失。
我在 Annotation Processors 中勾选了 Enable Annotation Processing 并给出了处理器路径。 (甚至尝试从项目类路径获取处理器)但每当我 运行 项目时,它都会出现以下错误:
Error:(8, 8) error: duplicate class: list.EventsListAdapter$ViewHolder$$ViewInjector
Error:Execution failed for task ':ProjectDemo:compileDebugJava'.
Compilation failed; see the compiler error output for details.
在我的 gradle 文件中,我根据其他人的建议添加了以下内容:
applicationVariants.all { variant ->
variant.outputs.each { output ->
def file = output.outputFile
output.outputFile = new File(file.parent, file.name.replace(".apk", "-" + defaultConfig.versionName + ".apk"))
}
}
但结果是一样的。
我做错了什么?另外,如果您需要有关此的更多详细信息,请告诉我。我对 AS 有点陌生,可能错过了一些明显的东西。
提前致谢。
我也遇到了这个问题。当用户从 Eclipse 的工作区导入项目时会发生此问题。实际上它会复制 $$ViewInjector.java
文件夹中的 src
文件。因此,您需要手动将它们从 src
包中删除。
抱歉,没有在@Rakesh 的回答中添加评论的声誉(他是对的)。
当 "refactor - move package" 选项错误时也会发生这种情况。
我将我的项目从 Eclipse 迁移到 AS,因为我遇到了 65K 方法问题。在解决了我最初使用 AS 时遇到的每个依赖性问题后,我陷入了这个问题,无论我从博客和 SO 本身的其他类似帖子中尝试什么,这个问题似乎都没有消失。
我在 Annotation Processors 中勾选了 Enable Annotation Processing 并给出了处理器路径。 (甚至尝试从项目类路径获取处理器)但每当我 运行 项目时,它都会出现以下错误:
Error:(8, 8) error: duplicate class: list.EventsListAdapter$ViewHolder$$ViewInjector
Error:Execution failed for task ':ProjectDemo:compileDebugJava'.
Compilation failed; see the compiler error output for details.
在我的 gradle 文件中,我根据其他人的建议添加了以下内容:
applicationVariants.all { variant ->
variant.outputs.each { output ->
def file = output.outputFile
output.outputFile = new File(file.parent, file.name.replace(".apk", "-" + defaultConfig.versionName + ".apk"))
}
}
但结果是一样的。
我做错了什么?另外,如果您需要有关此的更多详细信息,请告诉我。我对 AS 有点陌生,可能错过了一些明显的东西。
提前致谢。
我也遇到了这个问题。当用户从 Eclipse 的工作区导入项目时会发生此问题。实际上它会复制 $$ViewInjector.java
文件夹中的 src
文件。因此,您需要手动将它们从 src
包中删除。
抱歉,没有在@Rakesh 的回答中添加评论的声誉(他是对的)。
当 "refactor - move package" 选项错误时也会发生这种情况。