Android库项目“java.lang.NoClassDefFoundError” [英] Android library project "java.lang.NoClassDefFoundError"

查看:204
本文介绍了Android库项目“java.lang.NoClassDefFoundError”的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

首先,我知道,很多用户在stackoverflow中多次提出这个问题。我看了所有可能的解决方案,但仍然有问题。



问题:



我的IDE:
Eclipse Standard / SDK



版本:Kepler发行
构建ID:20130614-0229



我有一个android库项目,叫做mb-fw-android。在这个项目属性 - > android - >是库 - 检查;



我有另一个名为mb-revise-android的项目,它需要使用mb-fw-android 。我试过:



1)转到mb-revise-android - >属性 - > Android - >添加android库 - > start projec



结果是:

  02-26 12:04:19.960:E / dalvikvm(11678 ):找不到从方法ru.tsi.maksbm.android.revise.model.Model引用的类'ru.tsi.maksbm.android.config.AndroidFilePropsIOProvider'。< init> 
02-26 12:04:19.976:E / AndroidRuntime(11678):FATAL EXCEPTION:main
02-26 12:04:19.976:E / AndroidRuntime(11678):java.lang.NoClassDefFoundError: ru.tsi.maksbm.android.config.AndroidFilePropsIOProvider
02-26 12:04:19.976:E / AndroidRuntime(11678):在ru.tsi.maksbm.android.revise.model.Model。< init> (Model.java:117)
02-26 12:04:19.976:E / AndroidRuntime(11678):在ru.tsi.maksbm.android.revise.model.Model.createInstance(Model.java:64)
02-26 12:04:19.976:E / AndroidRuntime(11678):在ru.tsi.maksbm.android.revise.ReviseStartActivity.onCreate(ReviseStartActivity.java:70)
...

2)将android库项目添加为经典的依赖项目。 mb-revise-android - > properties - > buildPath - > project - > add,then order and export - > check mb-fw-android project



3)取消选中mb-fw-android IsLibrary复选框,然后尝试(2)。相同的结果



4)取消选中mb-fw-android IsLibrary复选框,执行如.apk,转到/ bin文件夹并找到mb-fw-android.jar。将此.jar粘贴到mb-revise-androidlibs文件夹中,并标记为订单并导出Android私有库作为检查。



相同的结果。 >

总结:我试图将android库项目添加为.jar,作为经典的依赖项目和属性 - > android - >添加android库,标记订单并导出作为检查,如果可能,但仍然不能正常工作。



请帮助我,如果你知道解决方案。
我使用Android SDK Platform-tools 19.0.1和Android SDK Build-tools 19.0.2



谢谢。



哇,我只是找到soluiton。



我们可以看到那里 http://developer.android.com/tools/sdk/eclipse-adt.html#notes 一个利益事件关于ADT 20.0.0及更高版本:



构建系统



添加自动合并库项目清单文件到包括项目清单。使用manifestmerger.enabled属性启用此功能。



我试图将manifestmerger.enabled = true添加到我的project.properties文件中,所有这些都完成了。事实是,构建器不会将我的库项目清单与apk项目清单合并

解决方案

尝试将库项目导入工作空间。
转到您的项目rightclick-> properties-> Android
向下滚动。在图书馆中添加图书馆项目


Ok, first of all, I know, that many users asked this question many times in stackoverflow. I looked through all possible solutions, but still have problem.

The problem:

My IDE: Eclipse Standard/SDK

Version: Kepler Release Build id: 20130614-0229

I have an android library project, called mb-fw-android. In this project properties -> android -> Is Library - checked;

I have another project called mb-revise-android, an it needs to use mb-fw-android. I'v tried :

1) Go to mb-revise-android -> properties -> Android -> add android library -> start projec

Result is:

02-26 12:04:19.960: E/dalvikvm(11678): Could not find class 'ru.tsi.maksbm.android.config.AndroidFilePropsIOProvider', referenced from method ru.tsi.maksbm.android.revise.model.Model.<init>
02-26 12:04:19.976: E/AndroidRuntime(11678): FATAL EXCEPTION: main
02-26 12:04:19.976: E/AndroidRuntime(11678): java.lang.NoClassDefFoundError: ru.tsi.maksbm.android.config.AndroidFilePropsIOProvider
02-26 12:04:19.976: E/AndroidRuntime(11678):    at ru.tsi.maksbm.android.revise.model.Model.<init>(Model.java:117)
02-26 12:04:19.976: E/AndroidRuntime(11678):    at ru.tsi.maksbm.android.revise.model.Model.createInstance(Model.java:64)
02-26 12:04:19.976: E/AndroidRuntime(11678):    at ru.tsi.maksbm.android.revise.ReviseStartActivity.onCreate(ReviseStartActivity.java:70)
...

2) add android library project as a classic depencency project. mb-revise-android -> properties -> buildPath -> project -> add, then order and export -> check mb-fw-android project

Still the same error

3) Uncheck mb-fw-android IsLibrary checkbox, and try (2). The same result

4) Uncheck mb-fw-android IsLibrary checkbox, execute it like .apk, go to /bin folder and find mb-fw-android.jar. Paste this .jar to mb-revise-android "libs" folder, and mark "order and export" Android Private Libraries as checked.

The same result.

Summary: i've tried to add android library project as .jar, as classic dependency project and as properties -> android -> add android library, mark order and export as checked, when possible, but still not working.

Please help me, if you know solution. I use Android SDK Platform-tools 19.0.1 and Android SDK Build-tools 19.0.2

Thank you.

Wow, I just find soluiton.

We can see there http://developer.android.com/tools/sdk/eclipse-adt.html#notes one interestiong thing about ADT 20.0.0 and higher:

Build System

Added automatic merging of library project manifest files into the including project's manifest. Enable this feature with the manifestmerger.enabled property.

I've tried to add "manifestmerger.enabled=true" to my project.properties file and all is done. The thing is that builder doesn't merge my library project manifest with apk project manifest

解决方案

try importing the library project to the work space. Go to your project rightclick->properties->Android scroll down. In library add you library project

这篇关于Android库项目“java.lang.NoClassDefFoundError”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆