Android Gradle 1:基本介绍 (3)

在模块的 build.gradle 文件内,使用语法rootProject.ext.属性名访问在 ext 代码块中定义的自定义属性。

// 模块的 build.gradle 文件 android { // 使用的语法 compileSdkVersion rootProject.ext.compileSdkVersion ... } ... dependencies { // 此处使用双引号 implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}" ... } 模块的 build.gradle 文件

模块级 build.gradle 文件位于每个 project/module/ 目录下,用于为其所在的特定模块配置版本设置。可以通过配置这些版本设置来提供自定义打包选项(如额外的版本类型和产品变种),以及替换 main/ 应用清单或顶层 build.gradle 文件中的设置。下面是对该文件的一些基础介绍:

// 模块的 build.gradle 内 // 第一行应用这个,此插件是官方开发的生成 APK 的插件。gradle构建项目是以插件的形式具体化的。gradle 是一个框架,不做具体的事。具体的事需要开发者自己实现,这个实现的过程就是开发插件。 // 应用此插件,以便明确构建的最终目的是生成一个 Android 的 APK。此外,插件可以不是 Android 的,可以是C++,Java等的。不过这不在本次的讲述范围内 apply plugin: \'com.android.application\' // android 代码块。导入 Android 插件后,可以配置 Android 项目的属性 android { // 编译 APK 时,用到的最大的 SDK 版本 compileSdkVersion 28 // 编译工具的版本 buildToolsVersion "29.0.0" // defaultConfig 代码块,定义默认的配置,部分配置可以在 main/AndroidManifest.xml 文件中进行修改,或者是在定义产品变种(product flavors)时修改配置项的实际值 defaultConfig { // 标识应用唯一性的 APP ID,注意和应用的包名是两个概念,虽然它们默认是一致的 applicationId \'com.example.myapp\' // APP运行时需要的最小的 SDK 版本 minSdkVersion 15 // APP运行时的目标 SDK 版本,也是最大的 SDK 版本 targetSdkVersion 28 // APP 的版本号 versionCode 1 // APP 的版本名称 versionName "1.0" } // buildTypes 代码块配置版本类型,默认情况下,有 Debug 和 Release 两种。Debug 版的相关配置无需明确写出来,可以缺省 buildTypes { // 配置 release 版本 release { // 开启代码混淆,可以进行资源等的压缩 minifyEnabled true // 代码混淆时使用的规则文件,第一个 proguard-android.txt 是 Android 默认的混淆文件,我们自定义的混淆规则添加在后面的这个文件(proguard-rules.pro)中 proguardFiles getDefaultProguardFile(\'proguard-android.txt\'), \'proguard-rules.pro\' } } // 构建产品变种(product flavors)时需要指定产品风味维度(flavorDimensions,可以理解成一个组。相同组下面的配置生效),维度名字随便取 flavorDimensions "tier" productFlavors { // 举例:产品有两个版本,付费版本和免费版本,二者报名不一致 free { dimension "tier" applicationId \'com.example.myapp.free\' } paid { dimension "tier" applicationId \'com.example.myapp.paid\' } } // 定义分包,根据不同的 ABI 架构或者屏幕密度。 splits { // 根据不同的屏幕密度编包,各个包之间不兼容 density { // 不启用 ABI 拆分机制 enable false // 编包时排除掉以下密度文件夹中的资源,减小体积 exclude "ldpi", "tvdpi", "xxxhdpi", "400dpi", "560dpi" } } // 该模块依赖的库,下面的代码演示了如何添加本地的和远程的依赖 dependencies { // 添加一个本地依赖,依赖库的名称必须包含在 settings.gradle 文件中 implementation project(":lib") // 添加远程依赖 implementation \'com.android.support:appcompat-v7:28.0.0\' // 添加本地二进制依赖,下面的语句添加了 "模块名/libs/" 目录中所有的 JAR 文件 implementation fileTree(dir: \'libs\', include: [\'*.jar\']) } } Gradle 属性文件

除了上面讲的 build.gradle 和 settings.gradle 文件,Gradle 还包含两个属性文件,它们位于项目的根目录下,可用于指定 Gradle 构建工具包本身的设置。

gradle.properties

您可以在其中配置项目全局 Gradle 设置,如 Gradle 守护进程的最大堆大小。

local.properties

配置构建系统的本地环境属性,其中包括:

ndk.dir:NDK 的路径。此属性已被弃用。NDK 的所有下载版本都将安装在 Android SDK 目录下的 ndk 目录中。

sdk.dir:SDK 的路径。

cmake.dir:CMake 的路径。

ndk.symlinkdir:在 Android Studio 3.5 及更高版本中,创建指向 NDK 的符号链接,该链接可比 NDK 安装路径短。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwssxz.html