Android Gradle使用技巧-gradle使用详细介绍
Android Gradle使用详解(一)–设置applicationId
利用 Android Studio 中的 Gradle 构建系统,您可以轻松地将外部二进制文件或其他库模块作为依赖项添加到您的 build 中。这些依赖项可位于您的计算机上或远程代码库中,并且它们声明的所有传递依赖项也会自动包含在内。
注意:指定依赖项时,不应使用动态版本号,如 ‘com.android.tools.build:gradle:3.+’。使用此功能可能会导致意外的版本更新和难以解析版本差异。
一、依赖项类型
如需向您的项目添加依赖项,请在 build.gradle 文件的 dependencies 代码块中指定依赖项配置,如 implementation。
例如,应用模块的以下 build.gradle 文件包含三种不同类型的依赖项:
apply plugin: 'com.android.application'
android { ... }
dependencies {
// 对本地库模块的依赖
implementation project(":mylibrary")
//或者
implementation project(path: ":mylibrary")
// 对本地二进制文件的依赖
implementation fileTree(dir: 'libs', include: ['*.jar'])
// 对远程二进制文件的依赖
implementation 'com.example.android:app-magic:12.3'
}
其中每种依赖项配置都请求不同种类的库依赖项,如下所示:
1、本地库模块依赖项
implementation project(':mylibrary')
这声明了对一个名为“mylibrary”(此名称必须与在您的 settings.gradle 文件中使用 include: 定义的库名称相符)的 Android 库模块的依赖关系。在构建您的应用时,构建系统会编译该库模块,并将生成的编译内容打包到 APK 中。
2、本地二进制文件依赖项
implementation fileTree(dir: 'libs', include: ['*.jar'])
Gradle 声明了对项目的 module_name/libs/ 目录中 JAR 文件的依赖关系(因为 Gradle 会读取 build.gradle 文件的相对路径)。
或者,您也可以按如下方式指定各个文件:
implementation files('libs/foo.jar', 'libs/bar.jar')
3、远程二进制文件依赖项
implementation 'com.example.android:app-magic:12.3'
这实际上是以下代码的简写形式:
implementation group: 'com.example.android', name: 'app-magic', version: '12.3'
这声明了对“com.example.android”命名空间组内的 12.3 版“app-magic”库的依赖关系。
注意:此类远程依赖项要求您声明适当的远程代码库,Gradle 应在其中查找相应的库。如果本地不存在相应的库,则当 build 需要它时(例如,当您点击 Sync Project with Gradle Files 图标或运行 build 时),Gradle 会从远程站点提取它。
二、依赖项配置
在 dependencies 代码块内,您可以从多种不同的依赖项配置中选择其一(如上面所示的 implementation)来声明库依赖项。每种依赖项配置都向 Gradle 提供了有关如何使用该依赖项的不同说明。下表介绍了您可以对 Android 项目中的依赖项使用的各种配置。此表还将这些配置与自 Android Gradle 插件 3.0.0 起弃用的配置进行了比较
新配置 | 已弃用配置 | 行为 |
---|---|---|
implementation | compile | Gradle 会将依赖项添加到编译类路径,并将依赖项打包到构建输出。不过,当您的模块配置 implementation 依赖项时,会让 Gradle 了解您不希望该模块在编译时将该依赖项泄露给其他模块。也就是说,其他模块只有在运行时才能使用该依赖项。 注意:使用此依赖项配置 |