标签: android-uselibrary

useLibrary的原则与build.gradle中的编译文件('')之间的区别是什么?

Android 6.0发布后,将删除对Apache HTTP客户端的支持.如果我们的应用程序使用此客户端和目标的Android 2.3(API等级9)或更高,HttpURLConnection建议类.据说这个API更有效,因为它通过透明压缩和响应缓存减少了网络使用,并最大限度地降低了功耗.如果我们想继续使用Apache HTTP API,您必须首先在我们的build.gradle文件中声明以下编译时依赖项:

android {
    useLibrary 'org.apache.http.legacy'
}
Run Code Online (Sandbox Code Playgroud)

旧版jar在Android SDK中,其路径为sdk/platforms/android-23/optional/.所以,它几乎是独立的.同时,这个apache传统jar是optional/在Android SDK中推出的,那么它是什么optional/?那是什么意思?

我们也知道,我们可以把这个jar放进去libs,然后在我们的build.gradle文件中声明它:

dependencies {
    compile files('libs/org.apache.http.legacy.jar')
}
Run Code Online (Sandbox Code Playgroud)

当我测试时,两种方法都按预期工作.

但我为什么徘徊.

什么之间的区别useLibrary,并compile files('')build.gradle?只是由于传统的jar文件采用的是Android SDK,所以我可以声明useLibrarybuild.gradle使用它?我可以用HttpURLConnection这种方式使用其他的吗?

我很迷惑.有人可以就此提供一些想法吗?提前致谢.

android android-build android-gradle-plugin android-apache-legacy android-uselibrary

5
推荐指数
1
解决办法
1559
查看次数