JJD*_*JJD 9 android json gradle jackson build.gradle
对于我的Android项目,我将Gradle与Jackson 2.2.x设置如下:
// 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.+'
}
Run Code Online (Sandbox Code Playgroud)
我只是使用ObjectMapper
这里:
import com.fasterxml.jackson.databind.ObjectMapper;
// ...
ObjectMapper objectMapper = new ObjectMapper();
try {
Content content = objectMapper.readValue(inputStream, Content.class);
} catch (IOException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
当我运行gradle installDebug
并启动应用程序的相关部分时,它会崩溃:
java.lang.NoClassDefFoundError:com.fasterxml.jackson.databind.ObjectMapper
com.fasterxml.jackson...
中提到com.fasterxml.jackson.core
了build.gradle
.是否存在导致问题的不匹配?dependencies
块移动到android
块中,因为我找到了以build.gradle
这种方式构造的其他配置.然而它似乎没有任何区别.Eth*_*han 11
Gradle和Android并不总是很好地依赖于依赖(但).运行
gradle clean
Run Code Online (Sandbox Code Playgroud)
似乎为我解决了大多数问题.
注意:如果这不起作用,您可以运行
dexdump classes.dex | grep 'Class descriptor'
Run Code Online (Sandbox Code Playgroud)
在APK的classes.dex文件中.这将检查该类是否包含在classes.dex
文件中.(如果你想仔细检查最新情况,有时它会很有用).
归档时间: |
|
查看次数: |
12786 次 |
最近记录: |