为了账号安全,请及时绑定邮箱和手机立即绑定

在ADT和SDK工具更新到v17之后,Gson NoClassDefFoundError

在ADT和SDK工具更新到v17之后,Gson NoClassDefFoundError

炎炎设计 2019-11-18 10:16:20
今天,我将ADT和SDK工具更新为v17,使用Google的gson jar库的项目开始抛出NoClassDefFoundError。这是logcat的输出:> 03-22 12:30:58.941: E/AndroidRuntime(21672): FATAL EXCEPTION: main> 03-22 12:30:58.941: E/AndroidRuntime(21672):> java.lang.NoClassDefFoundError: com.google.gson.Gson 03-22> 12:30:58.941: E/AndroidRuntime(21672):    at> com.matriksdata.conn.XRequestHandler.connect(XRequestHandler.java:35)> 03-22 12:30:58.941: E/AndroidRuntime(21672):    at> com.matriksdata.conn.XRequestHandler.makeRequest(XRequestHandler.java:> 29) 03-22 12:30:58.941: E/AndroidRuntime(21672):    at> com.matriksdata.bavul.XBaseWithConnectionActivity.makeRequest(XBaseWithConnectionActivity.java:> 46) 03-22 12:30:58.941: E/AndroidRuntime(21672):    at> com.matriksdata.ui.login.SplashScreenActivity.onCreate(SplashScreenActivity.java:> 36) 03-22 12:30:58.941: E/AndroidRuntime(21672):    at> android.app.Activity.performCreate(Activity.java:4465) 03-22> 12:30:58.941: E/AndroidRuntime(21672):    at> android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:> 1049) 03-22 12:30:58.941: E/AndroidRuntime(21672):    at> android.app.ActivityThread.performLaunchActivity(ActivityThread.java:> 1919) 03-22 12:30:58.941: E/AndroidRuntime(21672):    at> android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:> 1980) 03-22 12:30:58.941: E/AndroidRuntime(21672):    at> android.app.ActivityThread.access$600(ActivityThread.java:122) 03-22> 12:30:58.941: E/AndroidRuntime(21672):    at> android.app.ActivityThread$H.handleMessage(ActivityThread.java:1146)> 03-22 12:30:58.941: E/AndroidRuntime(21672):    at> android.os.Handler.dispatchMessage(Handler.java:99) 03-22> 12:30:58.941: E/AndroidRuntime(21672):    at> android.os.Looper.loop(Looper.java:137) 03-22 12:30:58.941:> E/AndroidRuntime(21672):    at> android.app.ActivityThread.main(ActivityThread.java:4340) 03-22> 12:30:58.941: E/AndroidRuntime(21672):    at> java.lang.reflect.Method.invokeNative(Native Method) 03-22> 12:30:58.941: E/AndroidRuntime(21672):    at有任何想法吗?
查看完整描述

3 回答

?
慕哥9229398

TA贡献1877条经验 获得超6个赞

我今天也遇到了类似的问题。


这为我解决了:


从构建路径中删除所有Android库项目和外部jar。

在您的项目中创建一个名为“ libs”的文件夹。

将所有外部.jar放在该文件夹中,ADT现在应该将它们放在“ Android Dependencies”下。

以正常方式重新导入您之前的所有Android库项目。

问题是,在使用“属性”-“ Java构建路径-添加外部Jar”时,默认情况下,外部jar不会放置在“ libs”文件夹中,而是放置在“参考库”下而不是“ Android Dependencies”下,这会导致NoClassDefFoundError。


请检查处理Android项目中的依赖项以了解更多详细信息。


查看完整回答
反对 回复 2019-11-18
?
弑天下

TA贡献1818条经验 获得超7个赞

  1. 右键单击该项目,然后选择“属性”。

  2. 转到Java构建路径顺序并导出。

  3. 勾选“ Android私人图书馆”

  4. 单击项目,清理


查看完整回答
反对 回复 2019-11-18
?
四季花海

TA贡献1811条经验 获得超5个赞

检查订单并选择


Project->Properties->Java build path->Order and Export:

订购并选择:


select Google APIs (optional)

select Dependencies

select Android Private Libraries

[-] src

[-] gen

在选项卡库中:


依赖关系私有库(在“ libs”目录中的罐子)


为我工作!


查看完整回答
反对 回复 2019-11-18
  • 3 回答
  • 0 关注
  • 470 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信