2

所以我在我的android项目中使用了简单的xml,它在模拟器上运行良好,但是当我在我的设备上使用时,我得到了这个异常

07-25 11:52:17.351: I/dalvikvm(2934): Could not find method javax.xml.stream.XMLInputFactory.newInstance, referenced from method org.simpleframework.xml.stream.StreamProvider.<init>
07-25 11:52:17.351: W/dalvikvm(2934): VFY: unable to resolve static method 6849: Ljavax/xml/stream/XMLInputFactory;.newInstance ()Ljavax/xml/stream/XMLInputFactory;

我尝试添加 stax api jar 和其他依赖项,但 dalvik 无法编译。有趣的是,这一切都适用于模拟器,类路径中只有我的 simple-xml-2.7.jar。

非常感谢任何指针。我的 android 设备上装有 Android 4.1.1。

我正在将 java 对象转换为 xml 这是对象。请注意,该代码在模拟器中运行良好,仅在具有 android 4.1.1 的实际设备上报告错误。

@Default
@Namespace(reference="http://bo.myobject")
public class Header implements Serializable
{

    private final static long serialVersionUID = 1L;
    @Element(required = false)
    protected String xyz;

    public Header() {
        super();
    }

    public Header(final String xyz) {
        this.xyz = xyz;
    }

   getters/setters
}
4

1 回答 1

0

关于这个问题的陈述是不正确的。您的代码在您的设备和模拟器上都有效。以下消息与Android上Simple XML的操作无关。在 Android 上,它使用 XML Pull 而不是 StAX。

07-25 11:52:17.351: I/dalvikvm(2934): 找不到方法 javax.xml.stream.XMLInputFactory.newInstance,引用自方法 org.simpleframework.xml.stream.StreamProvider。

07-25 11:52:17.351: W/dalvikvm(2934): VFY: 无法解析静态方法 6849: Ljavax/xml/stream/XMLInputFactory;.newInstance ()Ljavax/xml/stream/XMLInputFactory;

您必须忽略此消息!

于 2013-07-26T10:45:26.713 回答