97

ここで述べたように、Android M は Apache HTTP API をサポートしません。ドキュメントには次のように記載されています。

代わりに HttpURLConnection クラスを使用してください。

また

Apache HTTP API を引き続き使用するには、まず build.gradle ファイルで次のコンパイル時の依存関係を宣言する必要があります。

Android { useLibrary 'org.apache.http.legacy' }

プロジェクトでの HttpClient の使用の大部分を HttpURLConnection に変換しましたが、まだいくつかの領域で HttpClient を使用する必要があります。したがって、「org.apache.http.legacy」をコンパイル時の依存関係として宣言しようとしていますが、build.gradle でエラーが発生しています:

Gradle DSL メソッドが見つかりません: 'useLibrary()'

私の質問は、プロジェクトで「org.apache.http.legacy」をコンパイル時の依存関係として宣言するにはどうすればよいですか?

どんな助けでも大歓迎です。ありがとう

4

11 に答える 11

13

build.gradle ファイルで、 >の注意に従ってuseLibrary 'org.apache.http.legacy'を追加します。Android 6.0 ChangesApache HTTP Client Removal

android {
    ...
    useLibrary 'org.apache.http.legacy'
    ...
}

リンクの欠落エラーを回避するには、依存関係に追加します

dependencies {
    provided 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'
}

「provided」を使用すると、依存関係は apk に含まれません

于 2015-09-23T14:03:47.150 に答える
11

file:org.apache.http.legacy.jarAndroid/Sdk/platforms/android-23/optionalfolder から project folder にコピーしましapp/libsた。

23.1.1 の魅力のように機能しました。

于 2016-02-14T15:04:26.867 に答える
2

それは役立つはずです:

android {
    ...
    useLibrary 'org.apache.http.legacy'
    ...
}

リンクの欠落エラーを回避するには、依存関係に追加します

dependencies {
    provided 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'
}

また

dependencies {
    compileOnly 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'
}

なぜなら

Warning: Configuration 'provided' is obsolete and has been replaced with 'compileOnly'.
于 2015-11-14T06:47:28.457 に答える
2

私はこの問題を次のように解決しました:

1.) GUG が述べたように、トップレベルのビルド ファイルにクラスパスを設定します。

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.0-beta2'
    }
    allprojects {
        repositories {
           jcenter()
        }
    }
}

2.) 特定のモジュールのビルド ファイル内:

android {
   useLibrary 'org.apache.http.legacy'
   compileSdkVersion 'android-MNC'
   buildToolsVersion '23.0.0 rc3'
}
于 2015-07-14T09:19:59.607 に答える
0

この問題を解決するには、ビルド ツール バージョン「23.0.0 rc2」を次のツール ビルド gradle 依存関係と共に使用していることを確認してください。

classpath 'com.android.tools.build:gradle:1.3.0-beta2'
于 2015-06-29T07:14:38.940 に答える