为什么我的Android应用程序因特定库的NoClassDefFoundError而崩溃?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了为什么我的Android应用程序因特定库的NoClassDefFoundError而崩溃?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2088字,纯文字阅读大概需要3分钟。
内容图文
![为什么我的Android应用程序因特定库的NoClassDefFoundError而崩溃?](/upload/InfoBanner/zyjiaocheng/722/6a0e8ed1596343a5a3fc7db18837822f.jpg)
我有一个Android应用程序项目(A)和一个Android库项目(L). A使用L作为库.
L,库项目,已经使用了一些外部库:Apache Commons Codec 1.7,Apache Commons Lang3 3.1,Android支持库V4和ActionBarSherlock 4.0,作为库项目引用.所有这些库以及调用它们的代码都可以正常工作,并且已经运行了一段时间.
但是,我最近添加了一个库:Apache Commons IO 2.4.现在我的应用程序在库代码(在L中)尝试调用Commons IO中的方法时崩溃.
我添加IO库的方式与添加其他所有外部库的方式完全相同:
当我的申请首次开始时,我得到:
11-01 12:32:14.243: I/dalvikvm(3815): Could not find method org.apache.commons.io.FileUtils.copyInputStreamToFile, referenced from method au.com.grdc.alib.helpers.LibraryCommon.download
11-01 12:32:14.243: W/dalvikvm(3815): VFY: unable to resolve static method 7039: Lorg/apache/commons/io/FileUtils;.copyInputStreamToFile (Ljava/io/InputStream;Ljava/io/File;)V
后来我得到:
11-01 14:50:48.913: E/AndroidRuntime(10030): FATAL EXCEPTION: AsyncTask #1
11-01 14:50:48.913: E/AndroidRuntime(10030): java.lang.RuntimeException: An error occured while executing doInBackground()
...
11-01 12:35:10.268: E/AndroidRuntime(4493): Caused by: java.lang.NoClassDefFoundError: org.apache.commons.io.FileUtils
11-01 12:35:10.268: E/AndroidRuntime(4493): at au.com.grdc.alib.helpers.LibraryCommon.download(LibraryCommon.java:89)
我看到建议将我的“lib”文件夹重命名为“libs”,我已经完成了 – 这没有解决问题.
我还看到了要标记要导出的外部库的建议,我也已经完成了,并且还没有解决问题.
解决方法:
>更新你的eclipse-android-plugin和android-tools(他们改变了libs的处理方式)
>确保您的项目中有“libs”(非“lib”)文件夹.
>将所有库jar放在’libs’文件夹中.
>确保“libs”文件夹中的库jar不会像在普通的java项目中那样添加到构建路径中. Android会自动添加它们.如果你看项目>属性> Java构建路径>图书馆:
>确保顶层没有显示单个库库(否则删除它们)
>检查是否存在名为“Android Dependencies”的自动创建的顶级依赖关系组.
>检查libs文件夹中的所有jar是否已自动添加到“Android Dependencies”组中
对(A)和(L)两者执行上述步骤.
还要确保(A)对(L)没有普通java风格的项目依赖.
项目>属性> Java构建路径> (A)项目不应列出(L),否则删除.
确保项目>属性> Android for(A)列在Library部分项目(L)中,否则添加.
内容总结
以上是互联网集市为您收集整理的为什么我的Android应用程序因特定库的NoClassDefFoundError而崩溃?全部内容,希望文章能够帮你解决为什么我的Android应用程序因特定库的NoClassDefFoundError而崩溃?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。