android studio java.lang.NoClassDefFoundError Gson - java

I've made pretty much a fresh project. I added in the gson library by google to my projects /libs directory and added it as a library. I also added it into my build.gradle as
compile files('libs/gson-2.2.4.jar')
So now everything looks ok, there aren't any errors given by Android Studio, no red underlines anywhere. I can build it and give it a shot.
But then I run into this error:
java.lang.NoClassDefFoundError: com.google.gson.Gson
Which I can see in the debugger. The thing is i've added it in and android studio can see that but come build it gives me all these sorts of problems.
What am I doing wrong?

Had the same issue. What I did was gradle clean and then build my project with gradle from console. In my build.gradle gson dependency looks like this:
dependencies {
compile 'com.google.code.gson:gson:2.2.4'
}

Something went wrong in incremental build system. One of this should help:
Menu Build -> Rebuild project
Delete folder /build
Close Android Studio, delete /build folder
Right click on your project -> "Open module settings" -> Dependencies tab -> check if Export is checked for your library

I'm using Android Studio. and in my case, gradle clean and/or Rebuild project didn't work.
I had to uninstall the current SDK (in my case: 22) that was supposed to be corrupted and then reinstall it. After doing this, the project restarted to compile and run. Hope it can help someone.

Related

Gradle project sync failed. Basic functionality will not work properly. (Android studio)

I have gone through similar question on the internet. But I am still unable to find a solution for it.
To begin with I am trying to understand gradle and how android studio builds gradle files.
I have read about gradle and how it is structured. I have understood that it is similar to make in linux, so it builds all of the necessary files to create apk. But i could not understand how android studio generates all the gradle files. Is there a main file which is executed and which generates all of the other gradle files.
My project was working properly until i had to sync the gradle files and now it is giving me "Gradle project sync failed" error. I have tried out existing solutions on the internet, like
1.Invalidating caches and Restarting
2.Settings -> Build, Execution, Deployment -> Gradle turning on Online mode here, which i could not find on the android studio version 4.0.1
3.Opening up Gradle build console from View -> Tool Windows -> Gradle which i could not find.
I can't see the module level and project level gradle files amongst others, should I manually add them?
Should i download a new gradle file and point it separately? Is there any way to fix it by executing the right gradle file and generating the rest of it.
Where can I read more about it and have a better understanding of gradle.
Better install a new version of android studio. i think you have updated your gradle plugin.
I had that problem and I just updated my Android studio. It worked!
go to: Help->Check for updates

Build Error in Android Studio v3.1.1

I have checked for any implementation mistakes in gradle files or other mistakes in Java code and couldn't find any.
I'm getting this error :
'Could not delete path 'C:\Users\admin\AndroidStudioProjects\BreakTip\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values-fa'.'
Why is it trying to delete the path when I want to build the project?
Is there any solution?
Maybe there is problem because of some version, try to update Realm plugin to 4.2.0.
See: https://github.com/realm/realm-java/issues/5521
In latest releases of Android Studio one option has been added to Clean the project.
Build > Clean Project
After this step rebuild project :
Build > Rebuild Project

Getting Gradle dependencies in IntelliJ IDEA using Gradle build

Grade build, even from inside IntelliJ IDEA does not put the dependencies into the "External Libraries" folder, so these classes don't show up as suggestions in the editor and when I manually add them as an import there is a compile error.
How can I get IntelliJ to automatically incorporate the dependencies in my build.gradle file, for instance:
compile 'com.google.code.gson:gson:1.7.2
After adding dependencies open "Gradle" ('View'->Tool Windows->Gradle) tab and hit "refresh"
example of adding (compile 'io.reactivex:rxjava:1.1.0'):
If Idea still can not resolve dependency, hence it is possibly the dependency is not in mavenCentral() repository and you need add repository where this dependency located into repositories{}
You either need to import the project as a Gradle project from within Idea. When you add a dependency you need to open the Gradle window and perform a refresh.
Alternatively generate the project files from gradle with this:
build.gradle:
apply plugin: 'idea'
And then run:
$ gradle idea
If you modify the dependencies you will need to rerun the above again.
When importing an existing Gradle project (one with a build.gradle) into IntelliJ IDEA, when presented with the following screen, select Import from external model -> Gradle.
Optionally, select Auto Import on the next screen to automatically import new dependencies.
For those who are getting the "Unable to resolve dependencies" error:
Toggle "Offline Mode" off
('View'->Tool Windows->Gradle)
Andrey's above post is still valid for the latest version of Intellij as of 3rd Quarter of 2017. So use it. 'Cause, build project, and external command line gradle build, does NOT add it to the external dependencies in Intellij...crazy as that sounds it is true. Only difference now is that the UI looks different to the above, but still the same icon for updating is used. I am only putting an answer here, cause I cannot paste a snapshot of the new UI...I dont want any up votes per se. Andrey still gave the correct answer above:
Tried everything in this thread and nothing worked for me in IntelliJ 2020.2. This answer did the trick, but I had to set the correct path to the JDK and choose it in Gradle settings after that (as showed in figures bellow):
Setting the correct path for the Java SDK (under File->Project Structure):
In Gradle Window, click in "Gradle Settings..."
Select the correct SDK from (1) here:
After that, the option "Reload All Gradle Projects" downloaded all dependencies as expected.
Cheers.
I had this exact same error and nothing else worked. Finally, I did the following:
Close IntelliJ IDEA.
Delete .idea directory from my project folder.
Reopen IntelliJ and import the project again (as Gradle).
After the above, any new gradle dependency I added to build.gradle started appearing in External Dependencies section when I clicked the gradle refresh button.
In my case,I was getting error while refreshing gradle ('View'->Tool Windows->Gradle) tab and hit "refresh" and getting this error no such property gradleversion for class jetgradleplugin.
Had to install latest intellij compatible with gradle 5+
in my case, just re-import the jar file into correct directory .
File->project Structure->[Project setting -> Modules]

Build dependencies with gradle, Android Studio, ADT

I am developing Android app with gradle project. My teammates use ADT, and I do Android Studio and I would like to try my best not to force limiting IDE for others.
As far as I know, ADT needs to have local dependencies (.jar or local lib).
Also if I have main project and local library which contains same local jar files, it cannot build with gradle due to "IllegalArgumentException: already added".
Settings below works fine with gradle and Android Studio but not for ADT, support v13 is not found.
Is there any way to make build works for gradle, Android Studio and ADT ?
Please let me know if you need more information.
My project setting looks like
settings.gradle
include: ':MyProj'
include: ':libs:PagerSlidingTabStrip'
build.gradle (MyProj's)
.....
dependencies {
compile 'com.android.support:support-v13:13.0.+'
compile project(':libs:PagerSlidingTabStrip')
}
.....
build.gradle (PagerSlidingTabStrip's)
.....
dependencies {
compile 'com.android.support:support-v13:13.0.+'
}
.....
You will have to do the following:
Make an Eclipse project for MyProject and libs/PagerSlidingTabStrip
In MyProj, create a libs folder and dump in it both support-v13 and support-v4.
Do NOT change build.gradle to dep on the content of libs/ or you'll have a duplicate class file issue.
This is manageable if you have only one lib project and few dependencies. If your setup become more complex it'll become impossible to manage (hopefully by then we have Gradle support in Eclipse)

JAR libraries not being detected

I created a fresh project in Android Studio which uses external library (JAR). I put this in modules's build.gradle:
dependencies {
compile files('libs/android-support-v4.jar')
compile files('libs/mylib.jar')
}
But, when using Android Studio editor, it says there are some errors in my code and marks imports and variables (which use this library). It doesn't build properly saying that it cannot find one or another class. However, when I go to project's directory in terminal and execute gradlew manually, it builds APK and it (the APK) install and works just fine.
What am I missing? Is there any another setting in my project which is used for library detection?
Android Studio currently does not automatically sync your Gradle build files with your Android Studio (.iml) files. However, version 0.1.3 added a new sync button to the toolbar that will do this manually.
It's mentioned in the second bullet point of this blog post.
There were a lot of fixes in the Gradle project import and build
areas. There is now a "sync" button in the toolbar which will reimport
the Gradle project state into your Android Studio project. Use this
after editing your Gradle files, for example to add a library. In the
future we will more automatically handle state syncing, but for now
this is the simplest way to keep the IDE up to date with project
structure changes made to the Gradle files.

Categories

Resources