- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
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 legacy jar放在Android SDK的optional/
中,那么什么是optional/
呢?这是什么意思?
我们还知道,我们可以将这个 jar 放入 libs
中,然后在我们的 build.gradle
文件中声明它,如下所示:
dependencies {
compile files('libs/org.apache.http.legacy.jar')
}
这两种方法在我测试时都按预期工作。
但为什么呢?
build.gradle
中useLibrary
和compile files('')
有什么区别?只是因为遗留 jar 文件在 android SDK 中,所以我可以在 build.gradle
中声明 useLibrary
来使用它?我可以这样使用其他 jar 吗?
有人可以对此提供一些想法吗?
最佳答案
useLibrary
在编译时将库添加到类路径,但不将库与应用程序 bundle 在一起。
compile
依赖项在编译时位于类路径中,此外它们随您的 APK 一起提供。
对于 Apache HttpClient 支持,在使用 SDK 23+ 编译时使用 useLibrary
。该库已存在于目标平台中。它只是不存在于编译 SDK 中。
关于android - useLibrary 和build.gradle 中的编译文件 ('' ) 的原理有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33014306/
在 spring-security项目,在 build.gradle文件,以下插件可用: apply plugin: 'io.spring.nohttp' apply plugin: 'locks'
我正在尝试使用gradle任务作为“与操作系统无关的shell脚本”。我在编写构建文件的逻辑时没有问题,但是我希望能够从任何文件夹中运行它。 我的第一次尝试是在路径上放置一个带有build.gradl
我在同一目录下有三个具有不同名称的build.gradle dev.build.gradle uat.build.gradle prd.build.gradle 我有4期 “gradle build”
乡亲们 有谁知道如何使用gradle与自定义的build.gradle和settings.gradle一起运行-即两者在一起? 我认为我可以有一个自定义的build.gradle文件(-b标志)-但这
Gradle 配置有两个属性,称为 dependencies和 incoming .根据我的理解,我们可以通过 Gradle 依赖 block 向配置添加依赖,如下所示: dependencies {
我正在测试将我的工件推送到 Nexus Maven 存储库。我正在使用 gradle这样做。 gradle upload有什么区别和 gradle publish ? 最佳答案 目前gradle提供了
这里有一个类似的问题:Gradle properties not being read from ~/.gradle/gradle.properties,但它不能解决我的问题。 在我看来,gradle
如何检索 Gradle 本身的版本 以编程方式从 Gradle 插件中? 最佳答案 刚刚发现可以使用任何一种方法来解决它 getProject().getGradle().getGradleVersi
2 个 gradle 项目,A 和 B,其中 A 定义了对 B 的编译依赖。为 maven 和 gradle 项目启用了 JAR 的重新映射。我试过启用和禁用自定义工具模型。我在 init.d 目录下
如何从 gradle 运行另一个 gradle 脚本。我有多个 gradle 脚本可以在 /test 下运行测试目录。 /build.gradle使用要运行的测试 gradle 文件的名称调用。例如
我已经看到了多模块项目的不同布局,其中有些项目只有一个 build.gradle。而其他项目将有 build.gradle在根和 build.gradle在每个子项目中。我想知道有什么区别以及首选哪种
我对 Gradle 生命周期有一个基本的询问。我的项目是一个多模块项目。 我注意到以下命令: ./gradlew clean bignibou-server:run 不等于运行以下两个命令按顺序运行:
我有一个项目,其中包含一个子项目,如下所示: Root Project |----gradle.build |----SubProject |----|----gradle.build 这里的子项目包
我有 gradle 项目,我想向不使用 gradle 或 maven 等构建工具的项目添加依赖项。 目录结构如下: commonfolder\ gradleProject\ b
我想创建一个类来帮助我加载不同类型的属性(local.properties,gradle.properties,$GRADLE_HOME/gradle.properties,环境变量,系统属性和自定义
我有一个多模块项目,其目录结构如下: proj |-modA |-modB |-modMain \-modSysTest 依赖项是: modB -> modA modMain -> modB modM
我正在尝试创建一个可以在 --offline 模式下工作的 gradle 项目的副本。除了一个步骤,我已经自动化了所有步骤。我无法自动将插件 jar 下载到 gradle 缓存中。 我的离线分发通过指
基本上我想这样做: Use Gradle function from other gradle file 也就是说,从另一个 gradle 脚本中调用一个函数。问题是我的 build.gradle 在
我有一个简单的 gradle 插件,我想试用一下,但我不确定如何“请求”gradle 运行我的测试 这是我要修改的 block (在我的 gradle 构建文件的顶部) buildscript {
在 Android Studio 中创建项目时,我收到以下错误消息。 Failed to import new Gradle project: Could not install Gradle dis
我是一名优秀的程序员,十分优秀!