J'utilise Jackson dans mon application Android.
J'ai ajouté ces deux jarres dans mon chemin de construction:
jackson-core-asl-1.0.0.jar
jackson-mapper-asl-1.0.0.jar
Mais je continue à voir cela dans mon Logcat:
11-24 18:25:15.093: I/dalvikvm(28842): Could not find method org.codehaus.jackson.map.ObjectMapper.getTypeFactory, referenced from method org.springframework.http.converter.json.MappingJacksonHttpMessageConverter.getJavaType
11-24 18:25:15.093: W/dalvikvm(28842): VFY: unable to resolve virtual method 17967: Lorg/codehaus/jackson/map/ObjectMapper;.getTypeFactory ()Lorg/codehaus/jackson/map/type/TypeFactory;
C'est seulement sur cette méthode. J'ai recherché StackOverflow sur des erreurs similaires, mais toutes étaient:
Ma version Android est 4.0.3. J'utilise ceci en combinaison avec les bibliothèques Spring Android
.
J'avais un problème similaire; en supposant que vous utilisez Eclipse, essayez les solutions suivantes:
Espérons que cela fonctionne.
Cela peut également se produire si des méthodes d'appel de code n'existent pas dans la version actuelle du système d'exploitation du périphérique.
Par exemple, si, quelque part dans votre application, vous appelez Settings.Global.getFloat(String)
- qui a été ajouté à l'API 17 - et que le périphérique actuel exécute l'API 15, cet avertissement apparaît dans vos journaux.
Il y aura un crash si vous essayez réellement d'invoquer cette méthode. Il n'y a pas de problème si vous n'appelez pas cette méthode. Donc, assurez-vous de toujours vérifier la version actuelle avant d'appeler cela.
private float getAnimationSetting(ContentResolver contentResolver,
String setting) throws Settings.SettingNotFoundException {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
return getAnimationSettingJB(contentResolver, setting);
} else {
return getAnimationSettingLegacy(contentResolver, setting);
}
}
private float getAnimationSettingLegacy(ContentResolver contentResolver,
String setting) throws Settings.SettingNotFoundException {
return Settings.System.getFloat(contentResolver, setting);
}
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
private float getAnimationSettingJB(ContentResolver contentResolver,
String setting) throws Settings.SettingNotFoundException {
return Settings.Global.getFloat(contentResolver, setting);
}
Dans mon cas, cette solution ne peut pas fonctionner.
Vérifiez que le format du code du fichier jar est adapté à JDK 1.6,
J'ai trouvé ce problème en modifiant le format de mon code lib de 1.7 à 1.6, et ce problème serait résolu.