Android源代码构建:重复类

Android源代码构建:重复类,android,build,Android,Build,在构建Android源代码时,我遇到以下错误: out/target/common/obj/APPS/SystemUI_intermediates/src/com/android/SystemUI/R.java:10:重复类:com.android.SystemUI.R 即使我执行rm命令删除该文件或执行makeclean。为什么会这样?我该如何处理它?您可能在两个不同的目录中有两个R.java文件。您应该运行搜索以查找并删除这两个文件,然后尝试重新生成。检查清单文件中是否有更改包名称,或者尝试

在构建Android源代码时,我遇到以下错误:

out/target/common/obj/APPS/SystemUI_intermediates/src/com/android/SystemUI/R.java:10:重复类:com.android.SystemUI.R


即使我执行
rm
命令删除该文件或执行
makeclean
。为什么会这样?我该如何处理它?

您可能在两个不同的目录中有两个R.java文件。您应该运行搜索以查找并删除这两个文件,然后尝试重新生成。

检查清单文件中是否有更改包名称,或者尝试删除R.java文件,然后重新生成

一个构建系统可以将生成的
R.java
源文件保留在一个目录中,而另一个构建系统将其作为常规源文件,并将生成的R.java放入另一个目录中

例如,您可以使用AOSP构建过程,但在IntelliJ中打开源代码后,它会中断,因为IntelliJ将额外的R.java放在
gen/
目录下


摘要:正确清理输出目录,检查源目录是否没有额外的R.java文件。运行
find-在项目根目录中命名R.java
,以查看是否有任何冗余的R.java文件,如
gen
dir

它对删除重复的R.java和BuildConfig文件没有帮助,因为它总是在重新创建它并显示上述错误。

帮助我的是理解为什么文件在最初的位置重复。在我的例子中,这是因为我错误地在项目中的模块之间建立了循环依赖关系。这样,当编译器开始为已经编译为依赖项的模块之一创建类时,就会显示错误。 删除不必要的依赖项并重新编译项目修复了问题

附加说明

我没有立即发现依赖性问题的原因是,我当前使用的Android studio(0.6.1)有一个bug,有时项目设置视图会出现bug,并显示已删除的模块,或者不显示依赖项列表中当前存在的模块。重新启动Android studio解决了这个问题,因此我建议在应用上述修复程序之前重新启动。

从QT部署Android应用程序时,我遇到了相同的错误。 我已经像
“C:\Myproject\src\builds\build-helloworldandroid-Android\u用于armeabi\u v7a\u Clang\u Qt\u 5\u 12\u 3\u用于ARMv7-Release”
我删除了所有的文件,然后重新编译。
错误消失并成功运行了应用程序。

如果您过去尝试删除项目文件和目录,您可能没有删除导致重复类错误的类,尽管是无意中删除的


Build>Clean Project为我解决了这个问题。

你完全正确。您可以删除构建文件,直到您的脸变蓝,但每次都会重新生成/重新生成生成文件,从而导致重复的R.java冲突。