2016-04-20 139 views
1

我在Android Studio中遇到了一個奇怪的問題。我也在使用最新的JDK。我似乎無法導入以下:如何在Android Studio中使用javax.xml.transform.stax?

  • javax.xml.stream
  • javax.xml.transform.stax

他們都是不可用的,我不知道爲什麼。在一個非android項目中,我可以導入這些項目。任何線索爲什麼這些在Android中失蹤?

如果不是,簡單的解決方案是我從maven中添加了這些依賴關係。但運行後我得到這個錯誤:(的Java *或*的javax)

「核心類不明智的或錯誤的使用情況時,不建立一個核心庫

回答

0

的Android沒有按」。 t使用與您用於桌面或服務器應用程序相同的Java JDK;它使用自己的JDK實現,該實現添加了android.*層次結構,但留下了一些標準JDK中的軟件包,尤其是在javax.* Java擴展中。不幸的是,javax.xml.streamjavax.xml.transform.stax是他們沒有選擇實現的東西,而且,Android運行時不允許您加載任何java.*或出於安全原因,來自外部JAR文件的210個類**。 This answer可能會更好地描述情況。

你最好的投注可能是:1)使用專門爲Android設計的不同的第三方庫,如SimpleXML; 2)尋找重新包裝版本的庫,如this JAXB effort;或3)使用像Jar Jar Links這樣的工具來爲您重新打包。

另請參閱此優秀guide解析Android中的JSON和XML。

**注:我找不到任何來自Google的文檔來證實這一點;這只是一個普遍重複的「事實」。如果任何人都可以指出關於Android處理第三方java[x].*課程的權威聲明,請評論一個鏈接或編輯此答案。