如何解决android中的java.lang.NoClassDefFoundError?

时间:2014-02-06 06:36:22

标签: java android jar jackson noclassdeffounderror

我将import.io jar包含到我的android项目中,尝试运行示例并获得以下内容:

FATAL EXCEPTION: main
    java.lang.NoClassDefFoundError: com.importio.api.clientlite.json.JacksonJsonImplementation$1
            at com.importio.api.clientlite.json.JacksonJsonImplementation.<init>(JacksonJsonImplementation.java:17)
            at com.importio.api.clientlite.ImportIO.connect(ImportIO.java:235)
            at com.gomel.data.ImportIOTest.showandgetData(ImportIOTest.java:33)
            at com.gomel.activities.DetailedArticleActivity$1.onClick(DetailedArticleActivity.java:40)
            at android.view.View.performClick(View.java:4247)
            at android.view.View$PerformClick.run(View.java:17733)
            at android.os.Handler.handleCallback(Handler.java:730)
            at android.os.Handler.dispatchMessage(Handler.java:92)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:5289)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:525)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)
            at dalvik.system.NativeStart.main(Native Method)

我做了谷歌,并决定杰克逊图书馆有问题,我添加了它,但没有改变。这里有很多关于这个错误的不同解决方案,但在我的情况下我无法解决它。你能给我一些建议吗?

我将Android Studio与Android SDK Tools v22.3一起使用 此外,我试图在eclipse中运行这个项目(显然是jar),并得到了同样的错误。

UPD

我的build.gradle

apply plugin: 'android'

android {
    compileSdkVersion 18
    buildToolsVersion '19.0.1'

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 18
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    } }

dependencies {
    compile 'com.android.support:support-v4:18.0.0'
    compile files('lib/com.importio.api.clientlite-1.0.2.jar')
    compile files('lib/jackson-core-asl-1.9.12.jar') }

enter image description here

我将其添加为文件依赖项,认为它是正确的选项。我不使用这种方法时也没有编译错误。当然这个罐子在lib文件夹中。

3 个答案:

答案 0 :(得分:2)

缺少必需的jar jackson-core-asl-1.9.12.jar所以你必须download jar,然后设置你的classpath

答案 1 :(得分:0)

请检查您是否使用ADT版本17.如果是,请查看以下链接是否有帮助:

http://android.foxykeep.com/dev/how-to-fix-the-classdefnotfounderror-with-adt-17

答案 2 :(得分:0)

最后我得到了解决方案。 在我的情况下,它需要jackson-all-1.9.11.jar

这个jar包括所有其他Jackson jar(核心,映射器等)