useLibrary的原理与build.gradle中的compile files('')有什么区别?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了useLibrary的原理与build.gradle中的compile files('')有什么区别?相关的知识,希望对你有一定的参考价值。
android 6.0发行后,对Apache HTTP客户端]的支持已删除。如果我们的应用程序正在使用此客户端并且目标目标是[[Android 2.3(API级别9)或更高版本,则建议使用HttpURLConnection
类。据说此API效率更高,因为它通过透明压缩和响应缓存减少了网络使用,并最大程度地降低了功耗。如果我们想继续使用Apache HTTP API,则必须首先在build.gradl
e文件中声明以下编译时依赖项:android {
useLibrary 'org.apache.http.legacy'
}
旧版jar位于中,其路径为Android SDK
sdk/platforms/android-23/optional/
。因此,它几乎是独立的。同时,此apache旧版jar放入Android SDK的optional/
中,那么optional/
是什么?这是什么意思?也知道,我们可以将这个jar放入libs
,然后像下面这样在我们的build.gradle
文件中声明它:dependencies {
compile files('libs/org.apache.http.legacy.jar')
}
两种方法在我测试时都按预期工作。
但是为什么?
useLibrary
中的compile files('')
和build.gradle
有什么区别?仅因为旧版jar文件位于android SDK中,所以我才能在useLibrary
中声明build.gradle
来使用它?我可以这样使用其他罐子吗?
有人可以提供一些想法吗?
在Android 6.0发行后,已删除了对Apache HTTP客户端的支持。如果我们的应用程序正在使用此客户端,并且定位到Android 2.3(API级别9)或更高版本,则建议使用HttpURLConnection类。它是......
useLibrary
]在编译时将库添加到类路径,但不将库与应用程序捆绑在一起。以上是关于useLibrary的原理与build.gradle中的compile files('')有什么区别?的主要内容,如果未能解决你的问题,请参考以下文章