我的Android进阶之旅------>Android项目运行报java.lang.NoClassDefFoundError错误的解决办法

简介:     今天在运行一个Android项目的时候,报了以下错误: D/AndroidRuntime( 3859): Shutting down VME/AndroidRuntime( 3859): FATAL EXCEPTION: mainE/AndroidRuntime( 3859): Process: com.

    今天在运行一个Android项目的时候,报了以下错误:

D/AndroidRuntime( 3859): Shutting down VM
E/AndroidRuntime( 3859): FATAL EXCEPTION: main
E/AndroidRuntime( 3859): Process: com.runbo.outdoormeter, PID: 3859
E/AndroidRuntime( 3859): java.lang.NoClassDefFoundError: com.runbo.outdoormeter.LocationApplication$MyLocationListenner
E/AndroidRuntime( 3859):        at com.runbo.outdoormeter.LocationApplication.<init>(LocationApplication.java:23)
E/AndroidRuntime( 3859):        at java.lang.Class.newInstanceImpl(Native Method)
E/AndroidRuntime( 3859):        at java.lang.Class.newInstance(Class.java:1215)
E/AndroidRuntime( 3859):        at android.app.Instrumentation.newApplication(Instrumentation.java:990)
E/AndroidRuntime( 3859):        at android.app.Instrumentation.newApplication(Instrumentation.java:975)
E/AndroidRuntime( 3859):        at android.app.LoadedApk.makeApplication(LoadedApk.java:502)
E/AndroidRuntime( 3859):        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4537)
E/AndroidRuntime( 3859):        at android.app.ActivityThread.access$1500(ActivityThread.java:151)
E/AndroidRuntime( 3859):        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1402)
E/AndroidRuntime( 3859):        at android.os.Handler.dispatchMessage(Handler.java:110)
E/AndroidRuntime( 3859):        at android.os.Looper.loop(Looper.java:193)
E/AndroidRuntime( 3859):        at android.app.ActivityThread.main(ActivityThread.java:5322)
E/AndroidRuntime( 3859):        at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 3859):        at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime( 3859):        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:829)
E/AndroidRuntime( 3859):        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645)
E/AndroidRuntime( 3859):        at dalvik.system.NativeStart.main(Native Method)

          我就纳闷了,因为此项目我丢在Android系统源代码中去编译,完全正常运行不报错。导入到Eclipse中调试程序就直接给我报这错误,坑爹啊。 而这个MyLocationListenner是继承百度SDK中的
 com.baidu.location.BDLocationListener类,想来想去都想不出这错误报的所以然来。
而且在Eclipse视图中,完全没有任何提示说有错误,只是运行此APP就报错。如下图所示:

后来终于找到了解决方法,原来我丢在源代码中去编译的时候,Android.mk文件中,将这个jar包都加入进去了,都加载了所以不会报错。部分代码如下:
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := JAR_1:lib/android-support-v4.jar \
					JAR_2:lib/locSDK_3.3.jar


解决方法如下所示:

         1.项目根目录下新建一个libs文件夹

      2.把要加的包放到这个目录下

      3.右键 Build Path-> Use as source folder

      4.在jar包上右键->add to build path

    (注意,上面的是libs,不是lib

      

      如下图所示:

   好了,问题解决,需要注意的地方就是这样。



                 ====================================================================================

  作者:欧阳鹏  欢迎转载,与人分享是进步的源泉!

  转载请保留原文地址http://blog.csdn.net/ouyang_peng

====================================================================================


    
相关文章
|
3月前
|
Java Android开发 Swift
安卓与iOS开发对比:平台选择对项目成功的影响
【10月更文挑战第4天】在移动应用开发的世界中,选择合适的平台是至关重要的。本文将深入探讨安卓和iOS两大主流平台的开发环境、用户基础、市场份额和开发成本等方面的差异,并分析这些差异如何影响项目的最终成果。通过比较这两个平台的优势与挑战,开发者可以更好地决定哪个平台更适合他们的项目需求。
126 1
|
3月前
|
前端开发 JavaScript 测试技术
android做中大型项目完美的架构模式是什么?是MVVM吗?如果不是,是什么?
android做中大型项目完美的架构模式是什么?是MVVM吗?如果不是,是什么?
146 2
|
3月前
|
XML Java 数据库
安卓项目:app注册/登录界面设计
本文介绍了如何设计一个Android应用的注册/登录界面,包括布局文件的创建、登录和注册逻辑的实现,以及运行效果的展示。
258 0
安卓项目:app注册/登录界面设计
|
2月前
|
前端开发 JavaScript 测试技术
android做中大型项目完美的架构模式是什么?是MVVM吗?如果不是,是什么?
在 Android 开发中,选择合适的架构模式对于构建中大型项目至关重要。常见的架构模式有 MVVM、MVP、MVI、Clean Architecture 和 Flux/Redux。每种模式都有其优缺点和适用场景,例如 MVVM 适用于复杂 UI 状态和频繁更新,而 Clean Architecture 适合大型项目和多平台开发。选择合适的架构应考虑项目需求、团队熟悉度和可维护性。
66 6
|
3月前
|
分布式计算 大数据 Java
大数据-86 Spark 集群 WordCount 用 Scala & Java 调用Spark 编译并打包上传运行 梦开始的地方
大数据-86 Spark 集群 WordCount 用 Scala & Java 调用Spark 编译并打包上传运行 梦开始的地方
51 1
大数据-86 Spark 集群 WordCount 用 Scala & Java 调用Spark 编译并打包上传运行 梦开始的地方
|
3月前
|
前端开发 JavaScript 测试技术
Android适合构建中大型项目的架构模式全面对比
Android适合构建中大型项目的架构模式全面对比
56 2
|
3月前
|
IDE Java 编译器
Java:如何确定编译和运行时类路径是否一致
类路径(Classpath)是JVM用于查找类文件的路径列表,对编译和运行Java程序至关重要。编译时通过`javac -classpath`指定,运行时通过`java -classpath`指定。IDE如Eclipse和IntelliJ IDEA也提供界面管理类路径。确保编译和运行时类路径一致,特别是外部库和项目内部类的路径设置。
233 5
|
3月前
|
编译器 Android开发
配置环境变量,使CMakeLists.txt可直接使用Android NDK工具链编译项目
配置环境变量,使CMakeLists.txt可直接使用Android NDK工具链编译项目
|
3月前
|
Java
Java关键字 —— super 与 this 详细解释!一看就懂 有代码实例运行!
本文介绍了Java中this和super关键字的用法,包括在构造方法中使用this来区分参数和成员变量、使用super调用父类构造方法和方法,以及它们在同一个方法中同时使用的场景。
174 0
Java关键字 —— super 与 this 详细解释!一看就懂 有代码实例运行!
|
3月前
|
Java
Java关键字 —— static 与 final 详细解释!一看就懂 有代码实例运行!
这篇文章详细解释了Java中static和final关键字的用法,包括它们修饰类、方法、变量和代码块时的行为,并通过代码示例展示了它们的具体应用。
279 0
Java关键字 —— static 与 final 详细解释!一看就懂 有代码实例运行!