Я экспериментирую, чтобы посмотреть, смогу ли я как-нибудь заставить JAXB работать на Android в ограниченном сценарии. (использование других библиотек не вариант).
Я продвинулся довольно далеко, но в данный момент я застрял, получая следующую трассировку стека, вероятно, потому что Dalvik не позволяет этого.
E/AndroidRuntime( 643): java.lang.UnsatisfiedLinkError: getDeclaredAnnotations
E/AndroidRuntime( 643): at java.lang.Package.getDeclaredAnnotations(Native Method)
E/AndroidRuntime( 643): at java.lang.Package.getAnnotations(Package.java:97)
E/AndroidRuntime( 643): at java.lang.Package.getAnnotation(Package.java:80)
E/AndroidRuntime( 643): at com.sun.xml.bind.v2.model.annotation.RuntimeInlineAnnotationReader.getPackageAnnotation(RuntimeInlineAnnotationReader.java:129)
Я позаботился об удалении всех аннотаций уровня пакета и моего контекста JAXB с помощью определенного класса, который я аннотировал для JAXB:
JAXBContext jaxb_context = JAXBContext.newInstance(Num.class);
Могу ли я заставить JAXB делать все свои открытия во время компиляции, а не во время выполнения? (так же, как DataNucleus может обрабатывать аннотации JPA во время компиляции)