Android Studio错误:java.lang.NoClassDefFoundError Gson

15

我基本上创建了一个全新的项目。我将谷歌的gson库添加到了我的项目的/libs目录中,并将其作为库添加进去。我还在我的build.gradle文件中添加了它。

compile files('libs/gson-2.2.4.jar')

现在一切看起来都很好,Android Studio没有给出任何错误提示,也没有红色下划线。我可以构建它并试试。

但是,接着我遇到了这个错误:

java.lang.NoClassDefFoundError: com.google.gson.Gson

我可以在调试器中看到。问题是我已经添加了它,而Android Studio也能看到,但是构建时会出现各种问题。

我做错了什么?


我尽了最大的努力!我更新了Android Studio,重启了几次,删除了库并重新添加了它们,但是我得到了相同的结果。我不太确定Android Studio上的清理按钮在哪里,但我也“同步”了Gradle文件。我在哪里可以检查它是否在我的类路径中?我试图右键单击我的项目并查找属性,但这个选项在Android Studio上不可用。 - Tarang
1
您已经验证了gson-2.2.4.jar JAR文件是否位于/WEB-INF/lib目录中吗? - apollosoftware.org
1
我没有WEB-INF目录。我认为在Eclipse上需要它,但在新的Android Studio上也需要吗? - Tarang
2
我觉得我让它正常工作了。我不太确定为什么它能工作,但是在我的build.gradle中我使用了 compile fileTree(dir: 'libs', include: '*.jar') 而不是 compile files('libs/gson-2.2.4.jar') - Tarang
可能需要那个和META-INF。我只是稍微使用过Studio。但在Eclipse中,它对于JSON是必须的。 - apollosoftware.org
显示剩余4条评论
3个回答

18

我遇到了同样的问题。我所做的是用控制台运行gradle clean,然后使用gradle构建我的项目。在我的build.gradle文件中gson依赖项看起来像这样:

dependencies {
    compile 'com.google.code.gson:gson:2.2.4'
}

1
Mac 和 Android Studio 用户:前往您的项目 cd ~/AndroidStudioProjects/MyApplicationProject/MyApplication 并执行 ../gradlew clean(确保 gradlew 是可执行的)。 - Maxence
2
我曾经遇到过同样的问题。在“构建”菜单下,您也可以运行“清理项目”,这与执行相同的操作。 - Jared Forsyth

12

增量构建系统出现了问题。 下面的其中一个应该有所帮助:

  1. 菜单“Build”->“Rebuild Project”
  2. 删除/build文件夹
  3. 关闭Android Studio,删除/build文件夹
  4. 右键单击您的项目 ->“打开模块设置”->依赖项选项卡->检查您的库是否已勾选导出。

天啊!终于成功了!!我终于在我的Android Studio中添加了一个JAR文件。谢谢! - alicanbatur
1
重建项目对我有用...太奇怪了。 - SoWeLie
找到了最奇怪的解决方法,在这里尝试了一切都没有成功:o。 注释掉引起崩溃的代码行,编译(不再崩溃),取消注释代码行,再次编译,问题解决... - Gabriel Morin

0

我正在使用Android Studio,在我的情况下,gradle clean和/或Rebuild项目没有起作用。 我不得不卸载当前的SDK(在我的情况下:22),因为它被认为是损坏的,然后重新安装它。这样做后,项目重新开始编译和运行。希望能帮助到某些人。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接