引用这个线程Using webdav on Android,可以将沙丁库( http://code.google.com/p/sardine/)与httpclientandroidlib ( http://code.google.com/p/httpclientandroidlib/)结合使用。
但是我一直收到一个java.lang.VerifyError异常。
我尝试将Sardine lib引用为jar文件和Eclipse-project,但总是一样的。
如果我在抛出异常之前读取来自dalvikVM的消息,javax.xml.bind.JAXBContext.newInstance()就会出现问题。但我不能将JAXB库或源代码添加到项目中,因为我收到了几个Dx错误:
[2011-10-28 16:48:40 - FireTablet] Dx 1 error; aborting
[2011-10-28 16:48:40 - FireTablet] Conversion to Dalvik format failed with error 1
[2011-10-28 16:49:00 - FireTablet] Dx
trouble processing "javax/xml/bind/PrintConversionEvent.class":所以这不是解决问题的办法。有人知道如何在android上运行沙丁鱼库吗?
非常感谢您的帮助!
例外情况:
10-28 16:21:33.602: I/Process(22992): Sending signal. PID: 22992 SIG: 9
10-28 16:30:59.005: I/dalvikvm(23056): Could not find method javax.xml.bind.JAXBContext.newInstance, referenced from method com.googlecode.sardine.util.SardineUtil.<clinit>
10-28 16:30:59.005: W/dalvikvm(23056): VFY: unable to resolve static method 20578: Ljavax/xml/bind/JAXBContext;.newInstance ([Ljava/lang/Class;)Ljavax/xml/bind/JAXBContext;
10-28 16:30:59.005: D/dalvikvm(23056): VFY: replacing opcode 0x71 at 0x000a
10-28 16:30:59.005: W/dalvikvm(23056): VFY: unable to resolve exception class 2678 (Ljavax/xml/bind/JAXBException;)
10-28 16:30:59.005: W/dalvikvm(23056): VFY: unable to find exception handler at addr 0x50
10-28 16:30:59.005: W/dalvikvm(23056): VFY: rejected Lcom/googlecode/sardine/util/SardineUtil;.<clinit> ()V
10-28 16:30:59.005: W/dalvikvm(23056): VFY: rejecting opcode 0x0d at 0x0050
10-28 16:30:59.005: W/dalvikvm(23056): VFY: rejected Lcom/googlecode/sardine/util/SardineUtil;.<clinit> ()V
10-28 16:30:59.005: W/dalvikvm(23056): Verifier rejected class Lcom/googlecode/sardine/util/SardineUtil;
10-28 16:30:59.005: D/AndroidRuntime(23056): Shutting down VM
10-28 16:30:59.005: W/dalvikvm(23056): threadid=1: thread exiting with uncaught exception (group=0x40015578)
10-28 16:30:59.009: E/AndroidRuntime(23056): FATAL EXCEPTION: main
10-28 16:30:59.009: E/AndroidRuntime(23056): java.lang.VerifyError: com.googlecode.sardine.util.SardineUtil
10-28 16:30:59.009: E/AndroidRuntime(23056): at com.googlecode.sardine.impl.SardineImpl.list(SardineImpl.java:339)
10-28 16:30:59.009: E/AndroidRuntime(23056): at hsr.ifs.firetablet.network.WebDavConnector.getFacilityNames(WebDavConnector.java:36)我使用的是Android API-Level 10 & Java 1.6。
发布于 2012-08-17 15:03:35
不知道怎么回事,但你有没有试过https://github.com/yeonsh/Sardine-Android?
发布于 2017-12-06 19:07:11
我也遇到了同样的问题,并修改了沙丁项目以使用SimpleXml而不是JAXB。这是我的库版本:https://github.com/thegrizzlylabs/sardine-android
https://stackoverflow.com/questions/7931398
复制相似问题