SimpleXML を使用して Android デバイス上のオブジェクトを逆シリアル化しようとしています。Maven ファイルでは、除外付きの依存関係を使用しました (これらの依存関係を除外しないと、アプリケーションを起動できなかったため、別の質問のアドバイスに従いました)。
<dependency>
<groupId>org.simpleframework</groupId>
<artifactId>simple-xml</artifactId>
<version>2.6.7</version>
<exclusions>
<!-- StAX is not available on Android -->
<exclusion>
<artifactId>stax</artifactId>
<groupId>stax</groupId>
</exclusion>
<exclusion>
<artifactId>stax-api</artifactId>
<groupId>stax</groupId>
</exclusion>
<!-- Provided by Android -->
<exclusion>
<artifactId>xpp3</artifactId>
<groupId>xpp3</groupId>
</exclusion>
</exclusions>
テストのために、私は単純なクラスを書きました:
class Test {
String s;
}
そして私はオブジェクトを取得しようとします:
Test t = null;
try {
t = serializer.read(Test.class, source);
} catch (Exception e) {
e.printStackTrace();
}
Log.v("t",t.s);
しかし、最後の行で、フィールド ts を読み取ろうとすると、次のようなエラーが発生します。
Could not find method javax.xml.stream.XMLInputFactory.newInstance, referenced from method org.simpleframework.xml.stream.StreamProvider.<init>
unable to resolve static method 3372: Ljavax/xml/stream/XMLInputFactory;.newInstance ()Ljavax/xml/stream/XMLInputFactory;
dead code 0x0006-0009 in Lorg/simpleframework/xml/stream/StreamProvider;.<init>
unable to find class referenced in signature (Ljavax/xml/stream/XMLEventReader;)
問題の原因は何ですか?どうすれば解決できますか?