我测试了Android 19和26版本。大多数人说javax.xml.bind无法在Android上使用,我应该使用另一个库,但是我使用的是无法更改的第三方库。
我收到以下错误:
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.sun.xml.internal.bind.v2.ContextFactory" on path: DexPathList[[directory "."],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
at android.app.LoadedApk$WarningContextClassLoader.loadClass(LoadedApk.java:438)
at javax.xml.bind.ServiceLoaderUtil.nullSafeLoadClass(ServiceLoaderUtil.java:122)
at javax.xml.bind.ServiceLoaderUtil.safeLoadClass(ServiceLoaderUtil.java:155)
at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:276)
... 27 more
依赖关系是:
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.activation/activation -->
<!--<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1</version>
</dependency>
-->
<!-- https://mvnrepository.com/artifact/com.sun.mail/android-activation -->
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>android-activation</artifactId>
<version>1.5.5</version>
</dependency>
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>2.3.1</version>
</dependency>
尝试使用此