Android gradle.properties 基础使用和常规配置

简介: Gradle 是一个开源构建自动化工具,其设计足够灵活,可以构建几乎任何类型的软件。

1.什么是Gradle?


Gradle 是一个开源构建自动化工具,其设计足够灵活,可以构建几乎任何类型的软件。


2.什么是gradle.properties?



在Android中,


1.在使用Android Studio新建Android项目之后,在项目根目录下会默认生成一个gradle.properties文件,它是由IDE自动生成的gradle.properties文件。


2.他是项目级别的Gradle配置文件,gradle.properties里面定义的属性是全局的,可以在各个模块的build.gradle里面直接引用.我们可以在里面做一些Gradle文件的全局性的配置,也可以将比较私密的信息放在里面,防止泄露。


点击android项目里的gradle.properties,他是这样子的

23a60bf5ec147cfdff7c30fdfa20f72.png



1、gradle.properties常用功能配置

org.gradle.jvmargs=-Xmx5120m -XX:MaxPermSize=1280m -Dfile.encoding=UTF-8
#(JVM堆内存大小,要是想运行的快一些,就改大点,整个8192m啥的)
org.gradle.daemon=true
#通过开启守护进程,下一次构建的时候,将会连接这个守护进程进行构建,
#而不是重新 fork 一个 gradle构建进程
org.gradle.configureondemand=true 
#按需加载
org.gradle.parallel=true 
#并行编译
org.gradle.caching=true 
#开启 gradle 缓存
android.enableBuildCache=true
#开启依赖缓存,这个设置可以让Android Studio 会把依赖的 jar 或 arr 缓存到本地,并且把模块名称设置为 hash 值。每次编译生成的缓存在 $HOME/.android/build-cache
android.useAndroidX=true
# 标识当前 module 启用 Androidx ,当把android项目自动迁移到androidX,
AS会自动在这个文件加上这句
android.enableJetifier=true
# 表示将项目中使用的第三方库也迁移到 Androidx
android.injected.testOnly=false
#解决真机无法安装测试包的报错,因为国内一些安卓手机制作商定制的 
#Android 系统不允许安装含带这个属性的测试包。哪怕你使用 -t 参数通过 adb 安装也是不行的,这个很常见
android.useNewApkCreator=false
#声明使用旧的打包器解决 Android Studio 升级 3.6 之后,
#报错 Entry name 'AndroidManifest.xml' collided,
#因此禁用新版本打包工具,使用旧的打包工具
kotlin.incremental=true
kotlin.incremental.java=true
kotlin.incremental.js=true
#kotlin 增量编译
kotlin.caching.enabled=true
#kotlin 编译缓存
kotlin.parallel.tasks.in.project=true
#kotlin 并行编译
kotlin.code.style=official
# Kotlin code style for this project: "official" or "obsolete"
# 优化kapt
# 并行运行kapt1.2.60版本以上支持
kapt.use.worker.api=true
# 增量编译 kapt1.3.30版本以上支持
kapt.incremental.apt=true
# kapt avoiding 如果用kapt依赖的内容没有变化,会完全重用编译内容,省掉#`app:kaptGenerateStubsDebugKotlin`的时间
kapt.include.compile.classpath=false


2、gradle.properties的全局配置

gradle.properties里面定义的属性是全局的,可以在各个模块的build.gradle里面直接引用.当有一些数据我们传到git又不想给别人看的时候,就可以配置到gradle.properties,然后不传这个文件上去,也可以在项目中对一些属性进行统一配置,提高开发效率


1.在app/build.gradle文件中引用

注意:在gradle.properties中定义的属性默认是String类型的,如果需要int类型,需要添加XXX as int后缀。


1.我现在gradle.properties定义好下面新增的四个属性


094a7c484a023a8356fccb9994b8e83.png


2.然后在我某一个module的build.gradle里就可以调用,可以看到,在第一行通过isModule来让这个模块是作为库还是app运行,在下面的compileSdkVersion那一行的后面加了句 as int 确定他的sdk版本



b7dcf3d006a97b6bbde5262df0a536e.png

2.在java代码或者XML文件中使用

1.现在gradle.properties里添加配置


b622549d50bf5d28f02d3ce5fabc465.png


2、在app/build.gradle中读取属性,对这些属性进行转化: 上述代码中的


1.buildConfigField方法的是BuildType#buildConfigField,包含三个参数:类型、变量名、变量值。 Java调用时使用BuildConfig.defaultNickName就可以获得其中的值,


例如:


System.out.println("defaultNickName:" + BuildConfig.defaultNickName);


2.resValue方法定义在BuildType#resValue中,也包含三个参数:类型、变量名、变量值。


这是相当于是作为资源来进行调用,string代表的是字符串,对应于res文件下的这些东西:


2227ac8688517184c7e5ab80e767f29.png


在xml中的调用:


<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/user_name"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        android:textSize="@dimen/text_size"
        android:textColor="@color/text_color"
        />


相关文章
|
6月前
|
SQL 人工智能 移动开发
Android Studio插件版本与Gradle 版本对应关系
Android Studio插件版本与Gradle 版本对应关系
Android Studio插件版本与Gradle 版本对应关系
|
6月前
|
Java 开发工具 Android开发
Cocos Creator 2.4.6 Android Gradle 版本升级为 6.5.1(插件4.1.0)
Cocos Creator 2.4.6 Android Gradle 版本升级为 6.5.1(插件4.1.0)
188 1
|
7月前
|
开发工具 Android开发
Mac 安卓(Android) 配置adb路径
Mac 安卓(Android) 配置adb路径
213 0
|
7月前
|
存储 Java Android开发
Android 开发 - 充分利用Gradle
Android 开发 - 充分利用Gradle
112 2
|
7天前
|
运维 网络协议 Linux
Android 双网卡配置为连接到Android主机的PC提供外网访问(1)
Android 双网卡配置为连接到Android主机的PC提供外网访问(1)
22 0
|
7天前
|
存储 Linux Android开发
Android存储分区与Rockchip平台的分区命名及U-Boot配置
Android存储分区与Rockchip平台的分区命名及U-Boot配置
13 0
|
8天前
|
Android开发
Android 动态修改参数配置
Android 动态修改参数配置
11 0
|
4月前
|
Java 开发工具 Android开发
OpenCV(一):Android studio jni配置OpenCV(亲测有效,保姆级)
OpenCV(一):Android studio jni配置OpenCV(亲测有效,保姆级)
164 0
|
1月前
|
Java 开发工具 Android开发
Android Studio Gradle文件解释其作用
Android Studio Gradle文件解释其作用
24 2