【发布时间】:2013-06-10 20:08:30
【问题描述】:
我刚开始使用 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
【问题讨论】:
-
您的某个 xml 文件中是否存在错误,导致无法构建 .R?
-
我没有对我的 xml 文件进行任何更改,它们没有任何错误。项目构建并运行,编译器就是找不到R
-
检查是否有一个 R.java 文件?如果您有两个 R.java 文件,通常会发生这种情况
-
我只有一个 R.java 文件,我试图删除该文件但也没有用
-
只需检查您的
res文件夹并更正错误。
标签: android android-resources android-studio r.java-file