当前位置: 首页 > 知识库问答 >
问题:

NoClassDefFounderRorr在Android上使用Jackson 2.2.x和Gradle

阎麒
2023-03-14

对于我的Android项目,我用Jackson 2.2.x设置了Gradle,如下所示:

// build.gradle
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.+'
    }
}
apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 18
    buildToolsVersion "18.1.0"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 18
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:18.0.0'
    compile 'com.android.support:support-v4:18.0.0'
    compile 'com.google.android.gms:play-services:3.1.36'
    compile 'com.fasterxml.jackson.core:jackson-databind:2.2.+'
    compile 'com.fasterxml.jackson.core:jackson-core:2.2.+'
    compile 'com.fasterxml.jackson.core:jackson-annotations:2.2.+'
}

我只是在这里使用ObjectMapper:

import com.fasterxml.jackson.databind.ObjectMapper;

// ...

ObjectMapper objectMapper = new ObjectMapper();
try {
    Content content = objectMapper.readValue(inputStream, Content.class);
} catch (IOException e) {
    e.printStackTrace();
}
    null

共有1个答案

邹正阳
2023-03-14

Gradle和Android并不总是能很好地处理依赖关系。跑步

 gradle clean

似乎为我解决了大部分问题。

注意:如果这不起作用,您可以运行

dexdump classes.dex | grep 'Class descriptor'

在APK中的classes.dex文件中。它将检查该类是否包含在classes.dex文件中。(有时如果你想仔细检查正在发生的事情,这是很有用的)。

 类似资料:
  • 问题内容: 对于我的Android项目,我使用Jackson 2.2.x 设置了Gradle,如下所示: 我只是在这里使用: 当我运行并启动应用程序的相关部分时,它崩溃了: java.lang.NoClassDefFoundError:com.fasterxml.jackson.databind.ObjectMapper 想法: 我注意到在中定义时,在错误消息中提到了该消息。是否存在引起问题的不匹

  • 问题内容: 我安装了Python 3.x(除了Ubuntu上的Python 2.x),然后慢慢开始配对在Python 2.x中使用的模块。 因此,我想知道,应该为Python 2.x和Python 3.x使用pip来简化生活吗? 问题答案: 您应该采取的方法是为Python 3.2安装。 您可以通过以下方式执行此操作: 然后,您可以使用来安装适用于Python 3.2的内容,并使用来安装适用于Py

  • 在OS X El Capitan上安装AndroidStudio 2.0:如果我从http://www.oracle.com/technetwork/java/javase/downloads/jre7-downloads-1880261.html安装JRE 7,我将不会收到公共更新;如果我安装了JRE 8,Android Studio抱怨它无法使用安全连接接收升级: 有没有一种方法可以让我们相信

  • 问题内容: 我从git repo使用Django dev(1.6.x),我想使用MySQL,但是在文件上无法设置MySQL,因为python3和Django不支持MySQL,所以我在python3.x上使用pymysql包没有任何问题,但是在Django中也无法对其进行设置。 我可以在python3的django上使用mysql(或pymysql或?)吗? 问题答案: 我还努力使MySQL与Dja

  • 问题内容: 我想尝试JNotify,该插件库用于监视文件系统的更改,但无法弄清楚如何对其进行配置。JNotify的网页上说:“ java.library.path应该指向jnotify附带的本机库的位置(dll,dylib等)”。我是Mac OS X的新手,并不真正知道该怎么做。我正在使用NetBeans,希望有一种简单的方法可以将其添加到其中的路径中。我只是通过将jar文件添加到项目中的Libr

  • 我试图理解Android目前与Apache HTTP客户端的关系。我需要使用一个标准的Java库,它依赖于,这在Android上似乎是不可能的。 我们可以看到,在Android M中,删除了对HttpClient的支持。在Android P中,该库被从引导类路径中删除,并且对于没有清单条目的应用程序不可用。我还可以看到,有一个官方的Apache Android端口的httpclient是4.3.5