无法解析R.java,重复类

时间:2013-06-14 08:15:17

标签: android android-resources android-studio r.java-file

我刚刚开始使用Android Studio一周,它对我很有用,但是当我今天启动Android Studio时,我收到错误:'错误:重复类:mypackage.R'。我在使用Eclipse之前看到了这个错误,所以我尝试重建项目几次并重新启动Android Studio,这没有用。

在阅读了一些Stackoverflow问题后,我试图删除R.java并重新重建,现在我在重建时没有收到任何错误。唯一的问题是Android Studio无法解析R,因此使用R的每一行都会出错(项目构建和运行)。

我还尝试删除所有R.class文件,但这也无济于事。我检查了一些类是否导入了android.R,但它们都没有,它们只是导入'mypackage.R'。我甚至删除了所有文件,并检查了我的项目的旧版本,但我仍然遇到同样的问题。

编辑:

如果我不删除R.java,编译器不会给出任何错误。就在我尝试构建时,我遇到了很多错误:'错误:无法找到符号变量button_login'。如果我在R.java文件中搜索'button_login',我就会找到它。我这样做有多个错误。

Edit2:

当我删除项目现在构建的所有库。但问题是我需要那些库(HTTPComponents)。我从maven添加了它们(文件 - >项目结构 - > Libaries - > + -sign')并将它们添加到我的settings.graddle:

buildscript {
    repositories {
        maven { url 'http://repo1.maven.org/maven2' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.4'
    }
}
apply plugin: 'android'

dependencies {
    compile files('libs/android-support-v4.jar')
    compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.2.5'
    compile group: 'org.apache.httpcomponents', name: 'httpmime', version: '4.2.5'

    //compile 'org.apache.httpcomponents-httpclient:4.2.5' doesn't work either
    //compile 'org.apache.httpcomponents-httpmime:4.2.5' doesn't work either
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 16
    }
}

当我运行gradlew.bat --stacktrace --info assemble时,我收到错误,Gradle无法从maven存储库中找到库。我检查了存储库,但它们可用。 http://search.maven.org/#browse%7C1628757896

7 个答案:

答案 0 :(得分:3)

不幸的是,我也遇到过这种情况,有时经常发生这种情况,主要发生在Eclipse打开时让我的电脑进入睡眠状态。有时重新编译和验证项目是有效的。

我确实在某个地方找到了这个解决方案,丢失了链接并且没有为此声明信用:

  • 禁用自动构建,然后清理项目
  • 右键单击您的项目 - >属性 - > Java构建路径 - >来源 - >添加文件夹 - >添加gen和src
  • 然后编译

如果不起作用,请尝试删除gen文件夹并执行该过程

让我知道。

答案 1 :(得分:2)

自动删除Android Studio生成的Build文件夹!

答案 2 :(得分:0)

问题通常很简单。你有新的工作室安装?因此,您只需尝试编译项目即可为那些版本的Android添加SDK支持。 Android Studio无法生成R文件。启动SDK管理器,安装所有缺少的SDK版本和重新生成项目。

如果您使用64位操作系统,则可能出现另一个问题。您需要安装32位lib,因为aapt无法使用64位lib。

  • 在Ubuntu中安装ia32-libs
  • Fedora described here
  • 在其他发行版中查找谷歌中的库(只是谷歌:ia32-libs为“mydistr”),我无法描述所有这些;)

P.S。抱歉我的英文;)

答案 3 :(得分:0)

删除your_package_name(androisTest)文件夹中的所有类文件,只保留ApplicationTest文件。

答案 4 :(得分:0)

如果您使用的是某个从中收到此错误的库,只需删除应用源下的build文件夹并重建项目即可。我正在使用OpenCV库,我得到了这个错误,并通过删除构建文件夹并重建项目来解决。

答案 5 :(得分:0)

  1. 删除“gen”文件夹中的所有生成代码。
  2. 取消选中项目 - >在eclipse中自动构建。
  3. 再次编译android源码。
  4. 错误将被移除,为我工作。

答案 6 :(得分:0)

有时在Android Studio中会出现这种情况,但是一个简单的构建/清理项目,然后是构建/重建项目,它会处理它。