2010-10-29 24 views

Antwort

5

Ich glaube nicht, dass Sie SnakeYaml auf Android ohne Änderungen (zumindest jetzt) ​​verwenden können.

verwendet standardmäßig SnakeYAML IntrospectorPropertyDescriptors für Klassen zu bekommen, und wie kann ich sehen java.beans.Introspector ist auf Android nicht verfügbar. Aber es gibt BeanAccess.FEILD Modus in der SnakeYaml, der Felder verwendet, um Bohnen zu entleeren/zu laden. Dieser Modus verwendet nur java.lang.reflect Klassen, die für Android verfügbar sind.

Also, mit einigen Modifikationen könnte es funktionieren. Aber ich muss es versuchen, um sicher zu sein.

Added

Jetzt Android kompatible Version von SnakeYAML kann mit gebaut werden:

mvn -Pandroid clean package

Update (März 2017):

1,18 android build in Starten ist zentral. Sie können Abhängigkeiten in Ihrem pom.xml ähnliche

<dependency> 
    <groupId>org.yaml</groupId> 
    <artifactId>snakeyaml</artifactId> 
    <version> VERSION </version> 
    <classifier>android</classifier> 
</dependency> 
+0

Danke. Das ist hilfreich zu wissen. Wenn Sie es versuchen, bitte aktualisieren Sie uns hier. Ich warte auf Sie, um es zuerst zu versuchen, weil ich mit Null Erfahrung anfange. – MountainX

+1

Ja. Es hat nicht ohne Modifikationen gebaut. Aber ... das sollte funktionieren: http://code.google.com/p/snakeyaml/downloads/detail?name=snakeyaml-android-1.8-SNAPSHOT.jar Denken Sie daran, es verwendet Felder für Klassen, nicht Setter und Getters! !! Egal, welchen 'BeanAccess.xxx' Modus Sie einstellen, es ist immer' BeanAccess.FIELD'. Versuch es bitte. Ich habe ein Problem mit Android erstellt. Http://code.google.com/p/snakeyaml/issues/detail?id=92 Hier können Sie Kommentare abgeben. – maslovalex

+0

Vielen Dank, dass Sie diese modifizierte Version verfügbar gemacht haben! – MountainX

0

Ich denke, Sie sollten zumindest Snakeyaml versuchen. Für diese Art von Bibliothek ist es sehr wahrscheinlich, dass das benötigte Java-API-Set in Android verfügbar ist.

Wenn es nicht funktioniert, können Sie versuchen, Snakeyaml Quellcode in einem Android-Projekt zu importieren und sehen, was nicht kompiliert. Mit etwas Glück wird es möglich sein, die fehlenden APIs zu umgehen.

+0

Vielen Dank für Ihre Ermutigung hinzufügen. Mit meiner begrenzten Erfahrung (noch keine Android-Entwicklung) hatte ich gehofft, dass jemand anderes das schon versucht hätte. Aber ich mag snakeyaml, also wäre es großartig, wenn es auf Android funktioniert. – MountainX

Verwandte Themen