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"
        />


相关文章
|
1月前
|
Android开发
Android基于gradle task检查各个module之间资源文件冲突情况
Android基于gradle task检查各个module之间资源文件冲突情况
Android基于gradle task检查各个module之间资源文件冲突情况
|
1月前
|
Android开发
Android gradle task任务检查各个module之间资源文件冲突.md
Android gradle task任务检查各个module之间资源文件冲突.md
Android gradle task任务检查各个module之间资源文件冲突.md
|
1月前
|
编译器 Android开发
配置环境变量,使CMakeLists.txt可直接使用Android NDK工具链编译项目
配置环境变量,使CMakeLists.txt可直接使用Android NDK工具链编译项目
|
1月前
|
Java Android开发 Windows
玩转安卓之配置gradle-8.2.1
为安卓开发配置Gradle 8.2.1,包括下载和解压Gradle、配置环境变量、修改配置文件以增加国内镜像,以及在Android Studio中配置Gradle和JDK的过程。
73 0
玩转安卓之配置gradle-8.2.1
|
3月前
|
Android开发
Android 配置蓝牙遥控器键值
本文详细介绍了Android系统中配置蓝牙遥控器键值的步骤,包括查看设备号、配置键位映射文件(kl文件)、部署kl文件以及调试过程,确保蓝牙遥控器的按键能正确映射到Android系统对应的按键功能。
135 1
|
3月前
|
Android开发
Android Studio: 解决Gradle sync failed 错误
本文介绍了解决Android Studio中出现的Gradle同步失败错误的步骤,包括从`gradle-wrapper.properties`文件中获取Gradle的下载链接,手动下载Gradle压缩包,并替换默认下载路径中的临时文件,然后重新触发Android Studio的"Try Again"来完成同步。
1337 0
Android Studio: 解决Gradle sync failed 错误
|
3月前
|
搜索推荐 Android开发
学习AOSP安卓系统源代码,需要什么样的电脑?不同配置的电脑,其编译时间有多大差距?
本文分享了不同价位电脑配置对于编译AOSP安卓系统源代码的影响,提供了从6000元到更高价位的电脑配置实例,并比较了它们的编译时间,以供学习AOSP源代码时电脑配置选择的参考。
237 0
学习AOSP安卓系统源代码,需要什么样的电脑?不同配置的电脑,其编译时间有多大差距?
|
3月前
|
Ubuntu Android开发
安卓系统调试与优化:(一)bootchart 的配置和使用
本文介绍了如何在安卓系统中配置和使用bootchart工具来分析系统启动时间,包括安装工具、设备端启用bootchart、PC端解析数据及分析结果的详细步骤。
191 0
安卓系统调试与优化:(一)bootchart 的配置和使用
|
3月前
|
Java 开发工具 Maven
Flutter和Android中覆盖gradle中的repositories仓库地址
Flutter和Android中覆盖gradle中的repositories仓库地址
190 4
|
3月前
|
XML 安全 Android开发
Flutter配置Android和IOS允许http访问
Flutter配置Android和IOS允许http访问
117 3