【问题标题】:How to resolve java.lang.NoClassDefFoundError in android?如何解决android中的java.lang.NoClassDefFoundError?
【发布时间】:2014-03-02 23:25:07
【问题描述】:

我将 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') }

我将它添加为文件依赖项,认为这是正确的选择。当我不使用这种方法时也没有编译错误。当然,这些 jar 文件位于 lib 文件夹中。

【问题讨论】:

  • 您能否分享您的项目设置以及如何将 jar 导入到您的模块中。你在使用 Gradle 吗?如果是,请分享 gradle 构建文件。
  • @AssafG。是的,我使用的是 Gradle,我刚刚添加了一张带有设置的图片。你知道出了什么问题吗?
  • @Ashish 似乎已经解决了你的问题,所以我没有理由添加它。祝你好运。
  • @AssafG。没有。我的问题还没有解决。
  • 你在 Android Studio 的依赖中添加了 jar 包吗?

标签: java android jar jackson noclassdeffounderror


【解决方案1】:

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

【讨论】:

  • 抱歉转储问题,但我该如何使用 Android Studio 和 Windows 7?请分享您是如何知道库版本的?
  • 还没有。我现在正在尝试按照您的指示进行操作。你能告诉我如何设置类路径吗?
  • 等一下,我会向您发送设置类路径的步骤
  • dwnld jar 文件..右键单击 eclipse..properties 中的项目名称...java 构建路径..libraries 选项卡...添加外部 JAR...然后浏览下载的 jar 文件
【解决方案2】:

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

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

【讨论】:

  • 我用的是Android Studio,Android SDK工具版本是22.3
  • 你能为你的项目添加你的eclipse库序列的截图吗?
【解决方案3】:

我终于找到了解决方案。 就我而言,它需要jackson-all-1.9.11.jar

此 jar 包括 所有 其他 Jackson jar(核心、映射器等)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-01
    • 2019-01-08
    • 1970-01-01
    相关资源
    最近更新 更多