Java AndroidStudio更新后的Android Jackson NoSuchMethodError
我已经将我的AndroidStudio更新为3.3版,我正在使用Jackson解析JSON。在此更新之前,我的版本是2.8.0。 AndroidStudio更新后,我收到以下NoSuchMethod错误:Java AndroidStudio更新后的Android Jackson NoSuchMethodError,java,android,json,jackson,Java,Android,Json,Jackson,我已经将我的AndroidStudio更新为3.3版,我正在使用Jackson解析JSON。在此更新之前,我的版本是2.8.0。 AndroidStudio更新后,我收到以下NoSuchMethod错误: E/AndroidRuntime: FATAL EXCEPTION: main Process: org.madebyalex.myperiod, PID: 18261 java.lang.NoSuchMeth
E/AndroidRuntime: FATAL EXCEPTION: main
Process: org.madebyalex.myperiod, PID: 18261
java.lang.NoSuchMethodError: No virtual method
writeStartObject(Ljava/lang/Object;)V in class
Lcom/fasterxml/jackson/core/JsonGenerator; or its
super classes (declaration of
'com.fasterxml.jackson.core.JsonGenerator' appears
in /data/app/org.madebyalex.myperiod-
1/split_lib_dependencies_apk.apk:classes6.dex)
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:151)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:292)
at com.fasterxml.jackson.databind.ObjectWriter$Prefetch.serialize(ObjectWriter.java:1429)
at com.fasterxml.jackson.databind.ObjectWriter._configAndWriteValue(ObjectWriter.java:1158)
at com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:971)
at org.madebyalex.myperiod.JsonUtils.writeProfileInfo(JsonUtils.java:274)
所以我把我的杰克逊版本更新到了2.8.7,清除了Gradle缓存文件并进行了重建。问题依然存在。
这是我的gradle文件:
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:support-v4:25.2.0'
compile 'com.android.support:design:25.2.0'
compile 'com.android.support:appcompat-v7:25.2.0'
compile 'com.android.support:recyclerview-v7:25.2.0'
compile 'com.android.support:cardview-v7:25.2.0'
compile files('libs/jackson-core-2.8.7.jar')
compile files('libs/jackson-databind-2.8.7.jar')
compile files('libs/jackson-annotations-2.8.0.jar')
}
有一件事我注意到,即使在重建和缓存删除之后,jackson core版本仍然在AndroidStudio的“ExternalLibraries”参考文件夹中的2.7.4版中。这是名字:jackson-core-2.7.4
我在某处搜索了一些LLINK,发现了以下内容:
但没有成功。问题解决了。我断言jars的最新版本将我的gradle文件改为,并向我的本地jars指出,AndroidStudio直接下载到maven repo:
compile group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.8.7'
compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.8.7'
compile group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: '2.8.7'
我的错误是以前没有看到过这一点。我不认为这会导致问题,但为什么您使用的是不匹配版本的
jackson annotations
?最新的jackson annotations就是这个版本。至少在回购协议中。正如你所说,这个操作系统不是问题的原因。我创建了LinkedIn的最新版本:。不幸的是,Jackson core repo没有包含此链接。问题依然存在。