安卓application_defaultConfig——安卓gradle

本文详细介绍了安卓开发中Gradle配置文件中的defaultConfig部分,包括defaultConfig的作用、存在的形式及其各项属性和方法的含义。内容涵盖applicationId、externalNativeBuild、multiDexEnabled等关键属性,以及buildConfigField、consumerProguardFiles等方法,旨在帮助开发者更好地理解和使用defaultConfig。
摘要由CSDN通过智能技术生成

目录
一、前言
二、defaultConfig
1、搞清楚几个问题
2、defaultConfig 的存在形式
3、defaultConfig 中属性的意义
4、defaultConfig 中方法的意义
三、写在最后

一、前言

我们在安卓开发中,编译的任务是由 gradle 来负责的。但很多时候我们进入 build.gradle 文件中,有种似懂非懂的感觉,所以小盆友总结并分享自己学习到的点滴。

话不多说,今天分享的是在我们的每个模块下(应用级)build.gradle 文件中,android 下的 defaultConfig 属性

二、defaultConfig

1、搞清楚几个问题

在分享 defaultConfig 前,我们需要先弄清楚几个问题,这几问题之前一直困扰着小盆友,所以顺便记录和分享下。

(1)build.gradle 最终是以什么形式存在。

(2)为什么 每个模块下的 build.gradle 文件的最开始都有 apply plugin: 'com.android.library' 这样一行代码。

自动生成完的 build.gradle 格式如下所示

apply plugin: 'com.android.library'

android {
// 省略一些配置
}

dependencies {
// 省略依赖
}

这个文件最终会被转换为 org.gradle.api.Project 类(其类的关系如下图)。

ee7e3e9de31d999f45504519b73c9127.png
  • 第一行代码的 apply 会调用 PluginAware 的 void apply(Map options); 方法,进行设置插件;

  • 接下来的 android,并不是 gradle 中所带的,而是第一行代码插件所带来。具体会映射为 com.android.build.gradle.AppExtension 类;

  • 最后的 dependencies,会调用 Project 的 void dependencies(Closure configureClosure); 方法;

2、defaultConfig 的存在形式

defaultConfig 会被映射为 DefaultConfig 类,其继承结构图如下

ac7bc6310767f9740dbfc5e6732c3e43.png

3、defaultConfig 中属性的意义

下面是官方给出的文档,我们以 3.3 的版本进行讲解,其他版本可能有些许的小改动。

defaultConfig官方文档

https://google.github.io/android-gradle-dsl/3.3/com.android.build.gradle.internal.dsl.DefaultConfig.html

3.1 applicationId
  • 类型:String

  • 描述:应用的id,即我们常说的包名。我们都知道 android studio 是以 applicationId 作为包名,以前使用 eclipse 时,则另当别论了。

  • 使用方法:

defaultConfig {
    
// applicationId 应用的包名
// applicationId 会替换 AndroidManifest.xml 中的 manifest 标签下 package 的 value
applicationId "com.zinc.gradlestudy"
......省略其他配置
}
3.2 applicationIdSuffix
  • 类型:String

  • 描述:会追加在上面 applicationId 字符串的后面,形成最终的包名。

  • 使用方法:

defaultConfig {
    
// 若此时 applicationId 为 com.zinc.gradlestudy,则最终会形成 com.zinc.gradlestudy.debug 的包名
applicationIdSuffix "debug"
......省略其他配置
}
3.3 externalNativeBuild
  • 类型:ExternalNativeBuildOptions

  • 描述:这里我们设置 ndk 编译过程的一些参数。分为 cmake 和 ndkBuild 两个参数。

  • 使用方法:<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值