3

我刚开始使用 Android Studio 一周,它对我来说非常有用,但是当我今天启动 Android Studio 时,我收到错误:'error: duplicate class: 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”,我就会找到它。我这样做有多个错误。

编辑2:

当我删除项目现在构建的所有库时。但问题是我需要那些库(HTTPComponents)。我从 maven(文件 --> 项目结构 --> 库 --> +-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

4

8 回答 8

3

不幸的是,我也经常遇到这种情况,有时经常发生,主要发生在我让计算机进入睡眠状态并在 Eclipse 开启时重新打开。有时重新编译和验证项目是可行的。

我确实在某处在线找到了这个解决方案,丢失了链接并且不为此申请信用:

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

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

让我知道。

于 2013-06-14T08:32:39.847 回答
2

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

于 2013-06-14T10:53:34.670 回答
0

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

另一个问题可能是您使用 64 位操作系统。您需要安装 32 位库,因为 aapt 不能使用 64 位库。

  • 在 Ubuntu 中安装 ia32-libs
  • Fedora 在这里描述
  • 在其他发行版中找到 google 中的库(只是 google:ia32-libs 用于“mydistr”),我无法描述所有这些;)

PS对不起我的英语;)

于 2013-11-20T09:59:35.083 回答
0

如果您使用的某个库会出现此错误,只需删除build应用程序源下的文件夹并重建项目即可。我正在使用 OpenCV 库,我遇到了这个错误,并且通过删除构建文件夹并重建项目得到了解决。

于 2016-08-06T16:26:54.063 回答
0
  1. 删除“gen”文件夹中所有生成的代码。
  2. 取消选中项目-> 在 Eclipse 中自动构建。
  3. 再次编译android源。
  4. 错误将被删除,为我工作。
于 2016-08-25T04:48:03.863 回答
0

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

于 2016-01-11T11:03:42.973 回答
0

这有时在 Android Studio 中仍然会发生,但是一个简单的 Build / Clean Project 后跟一个 Build / Rebuild Project 会处理它。

于 2017-02-26T11:54:07.083 回答
0

直到今天,我已经很久没有遇到这个问题了。

Error:(10, 14) java: duplicate class: com.domain.name.R

在项目上浪费了 2 个小时并收到此错误后,

最后我删除了.ideagenout文件夹以及iml文件。

然后我关闭了项目,然后再次使用主菜单的导入项目重新导入它。

它现在运作良好。

于 2021-11-10T18:38:33.620 回答