在Android 4.1上无法解析沙丁鱼中的httpclient

时间:2013-11-15 06:12:34

标签: java android webdav sardine

我正在使用最新的使用httpclient 4.2.4的Sardine https://github.com/lookfirst/sardine WebDav客户端 我正在尝试使用httpclient 4.0.1

的4.1.1.4

通过排除,它可以完美地构建

    <dependency>
        <groupId>com.google.android</groupId>
        <artifactId>android</artifactId>
        <version>${platform.version}</version>
        <scope>provided</scope>
        <exclusions>
            <exclusion>
                <artifactId>httpclient</artifactId>
                <groupId>org.apache.httpcomponents</groupId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>com.actionbarsherlock</groupId>
        <artifactId>actionbarsherlock</artifactId>
        <version>4.4.0</version>
        <type>apklib</type>
    </dependency>
    <dependency>
        <groupId>com.j256.ormlite</groupId>
        <artifactId>ormlite-core</artifactId>
        <version>4.47</version>
    </dependency>
    <dependency>
        <groupId>com.j256.ormlite</groupId>
        <artifactId>ormlite-android</artifactId>
        <version>4.47</version>
    </dependency>
    <dependency>
        <groupId>com.github.lookfirst</groupId>
        <artifactId>sardine</artifactId>
        <version>5.0.1</version>
    </dependency>

但是在Sardine init方法的运行时间我得到了

     AndroidRuntime﹕ FATAL EXCEPTION: main
     java.lang.NoSuchMethodError: org.apache.http.conn.scheme.Scheme.<init>

意味着它很可能尝试使用旧版本的httpclient。如何使用4.2.4 httpclient版本强制它?

1 个答案:

答案 0 :(得分:1)

排除平台提供的库可能没什么意义,如果它存在那里

对这个问题有一个评论 - Latest Apache HttpClient in Android SDK - 但我不认为你会这样做。

所以我认为你被卡住了,除非你想重构沙丁鱼以使用上面帖子中提到的httpclient的替代包装。