[英]LinkageError: loading constraint violation when overriding method javax/xml/stream/XMLInputFactory.createXMLEventReader
[英]Android StAX Cursor Parser - could not find method javax.xml.stream.XMLInputFactory.newInstance
我正在使用AsyncTask
從 i-net 下載和解析 XML 內容。 xml 的下載和解析發生在doInBackground()
方法中。 “dalvikvm”遇到問題 - 它找不到方法。
這是LogCat 的日志:
06-30 13:26:41.148: DEBUG/dalvikvm(507): GC freed 796 objects / 68088 bytes in 112ms
06-30 13:26:41.667: INFO/ActivityManager(52): Displayed activity com.news.reader/.SplashScreen: 5305 ms (total 63417 ms)
06-30 13:26:45.097: INFO/ActivityManager(52): Starting activity: Intent { cmp=com.news.reader/.DirBgNewsReader }
06-30 13:26:45.418: ERROR/dalvikvm(507): Could not find method javax.xml.stream.XMLInputFactory.newInstance, referenced from method com.news.reader.DirBgNewsReader.parse
06-30 13:26:45.427: WARN/dalvikvm(507): VFY: unable to resolve static method 104: Ljavax/xml/stream/XMLInputFactory;.newInstance ()Ljavax/xml/stream/XMLInputFactory;
06-30 13:26:45.427: WARN/dalvikvm(507): VFY: rejecting opcode 0x71 at 0x0013
06-30 13:26:45.427: WARN/dalvikvm(507): VFY: rejected Lcom/news/reader/DirBgNewsReader;.parse (Ljava/lang/String;)V
06-30 13:26:45.427: WARN/dalvikvm(507): Verifier rejected class Lcom/news/reader/DirBgNewsReader;
06-30 13:26:45.439: WARN/dalvikvm(507): Class init failed in newInstance call (Lcom/news/reader/DirBgNewsReader;)
06-30 13:26:55.217: WARN/ActivityManager(52): Launch timeout has expired, giving up wake lock!
06-30 13:26:55.217: WARN/ActivityManager(52): Activity idle timeout for HistoryRecord{4396eb68 com.news.reader/.DirBgNewsReader}
06-30 13:27:00.300: WARN/ActivityManager(52): Activity destroy timeout for HistoryRecord{43814048 com.news.reader/.SplashScreen}
有人可以幫助我並解釋為什么找不到指定的方法嗎?
謝謝!
看起來 StAX 在 Android 上不可用,但“等效” XmlPullParser可用。
我發現博客帖子 simple-xml-in-android-1-5-and-up ( dleerob和Triminmon的答案)很有幫助,因為它解釋了 Simple XML 正在做什么:
現在這些是一些奇怪的錯誤......簡而言之,這就是 Simple XML 使用反射魔法的地方,看看它實際上可以使用哪些類來序列化您的 XML。 簡單的 XML 基本上可以在任何地方工作(這就是它在 Android 1.5 上工作的原因),這個反射代碼告訴它它當前的平台讓它可以使用什么。 它還會緩存此反射的結果,因此您只會看到這些錯誤消息出現一次,然后 Simple XML 會自動“重新配置”自己,如果您願意的話。
這篇博客文章准確地解釋了這些錯誤發生了什么,並且可以安全地忽略它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.