ObAt
ObAt

Reputation: 2387

Cannot resolve R.java, duplicate class

I just start using Android Studio for a week and it works great for me, but when I started Android Studio today I get the error: 'error: duplicate class: mypackage.R'. I saw this error before when I used Eclipse so I tried to rebuild the project a few times and restarting Android Studio, this didn't help.

After reading some Stackoverflow questions I tried to deleted R.java and rebuild again, now I don't get any error while rebuilding. The only problem is that Android Studio cannot resolve R, so every line which uses R gets an error (project builds and run).

I also tried to delete all the R.class files but this doesn't help either. I checked if some class imports android.R, but they all don't, they just import 'mypackage.R'. I even deleted all my files and checked out a older version of my project but I still have the same problem.

Edit:

If I don't delete R.java the compiler doesn't give any error. Just when I try to build I get a lot of errors like: 'error: cannot find symbol variable button_login'. If I search the R.java file for 'button_login' I just find it. I did this with multiple errors.

Edit2:

When I deleted all the libaries the project now builds. But the problem is that I need those libaries (HTTPComponents). I added them from maven (File --> Project Structure --> Libaries --> +-sign') and added them to my 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
    }
}

When I run gradlew.bat --stacktrace --info assemble I get errors that Gradle is unable to find the libaries from the maven repository. I checked the repository but they are available. http://search.maven.org/#browse%7C1628757896

Upvotes: 3

Views: 17633

Answers (8)

Shamshirsaz.Navid
Shamshirsaz.Navid

Reputation: 2362

I have not had this problem for a long time until today.

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

After 2 hours of wasting time on the project and getting this error,

Finally I removed the .idea, gen and out folders and also iml file.

Then I closed the project and then re-import it using import project of main menu again.

Its working well right now.

Upvotes: 0

Carl
Carl

Reputation: 15605

This still happens sometimes in Android Studio, but a simple Build / Clean Project followed by a Build / Rebuild Project takes care of it.

Upvotes: 0

Shiv Buyya
Shiv Buyya

Reputation: 4130

  1. Delete all generated code inside "gen" folder.
  2. Uncheck Project->Build Automatically in eclipse.
  3. compile android source once again.
  4. Error will be removed, worked for me.

Upvotes: 0

Abhinav Tripathi
Abhinav Tripathi

Reputation: 178

If you are using some library from which you are getting this error, just delete the build folder under your app source and rebuild the project. I was using OpenCV library for which I w as getting this error and that got resolved by deleting the build folder and rebuilding the project.

Upvotes: 0

Kishor Patil
Kishor Patil

Reputation: 41

Delete all class file in your_package_name(androisTest) folder only keep ApplicationTest file.

Upvotes: 0

Artem Zinoviev
Artem Zinoviev

Reputation: 969

Problem is simple usually. You have fresh instal of studio? So you just fogot add SDK support for those version Android in wich try to compile project. Android Studio can`t generate R file. Start SDK manager, install all missing SDK version and rebuld project.

Another problem can be if you use 64bit OS. You ned to install 32 bit lib, because aapt can`t work with 64bit libs.

  • in Ubuntu install ia32-libs
  • Fedora described here
  • in other distr find libs in google (just google:ia32-libs for "mydistr"), i cant describe all of them ;)

P.S. sorry for my English ;)

Upvotes: 0

abdelali
abdelali

Reputation: 29

Delete the Build folder generated by Android Studio automatically!

Upvotes: 2

LuckyMe
LuckyMe

Reputation: 3910

Unfortunately I run into this as well, sometimes frequently, mostly happens when I put my computer to sleep and back on while Eclipse is on. Sometimes recompiling and validating the project works.

I did find this solution online somewhere, lost the link and do not claim credits for this:

  • Disable auto build, and clean the project then
  • Right click your project -> properties -> Java Build Path -> Source -> Add Folder -> add gen and src
  • Then compile

If that doesn't work, try to delete the gen folder and do that process

Let me know.

Upvotes: 3

Related Questions