2010-10-29 21 views

risposta

5

Non penso che sia possibile utilizzare SnakeYaml su Android senza modifiche (almeno ora).

Per impostazione predefinita, SnakeYaml utilizza Introspector per ottenere PropertyDescriptors per le classi e, come posso vedere, java.beans.Introspector non è disponibile su Android. Ma c'è la modalità BeanAccess.FEILD in SnakeYaml che usa i campi per scaricare/caricare i fagioli. Quella modalità utilizza solo le classi java.lang.reflect disponibili su Android.

Quindi, con alcune modifiche potrebbe funzionare. Ma ho bisogno di provarlo per essere sicuro.

Aggiunto

versione compatibile Ora Android di SnakeYaml può essere costruire utilizzando:

mvn -Pandroid clean package

Update (marzo 2017):

A partire da 1.18 accumulo androide è in centrale. Puoi aggiungere dipendenza nel tuo pom.xml in questo modo

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

Grazie. È utile saperlo. Se lo provi, ti preghiamo di aggiornarci qui. Aspetterò che tu ci provi prima perché sto iniziando con zero esperienze. – MountainX

+1

Sì. Non ha costruito senza modifiche. Ma ... questo dovrebbe funzionare: http://code.google.com/p/snakeyaml/downloads/detail?name=snakeyaml-android-1.8-SNAPSHOT.jar Ricorda che usa Fields su classi, non setter e getter! !! Indipendentemente dalla modalità 'BeanAccess.xxx' che si imposta è sempre' BeanAccess.FIELD'. Per favore provalo Ho creato un problema su Android http://code.google.com/p/snakeyaml/issues/detail?id=92 sentiti libero di inserire commenti lì. – maslovalex

+0

Grazie per aver reso disponibile quella versione modificata! – MountainX

0

Penso che dovresti almeno provare direttamente snakeyaml. Per questo tipo di libreria è molto probabile che il set di API Java necessario sia disponibile in Android.

Se non funziona, puoi provare a importare il codice sorgente di snakeyaml in un progetto Android e vedere cosa non viene compilato. Con un po 'di fortuna sarà possibile aggirare le API mancanti.

+0

Grazie per il vostro incoraggiamento. Con la mia esperienza limitata (nessuno sviluppo Android ancora), speravo che qualcun altro avrebbe già provato questo. Ma mi piace snakeyaml, quindi sarebbe bello se funziona su Android. – MountainX

Problemi correlati