【Android Gradle 插件】gradle.properties 中配置编译参数并在 Java 代码 BuildConfig 中调用该参数
文章目录
- 一、gradle.properties 中配置编译参数
- 二、在 build.gradle 中配置 BuildConfig.java 生成信息
- 三、编译后生成的 BuildConfig 类
Android Plugin DSL Reference 参考文档 :
- 文档主页 : https://google.github.io/android-gradle-dsl/2.3/
- android 模块配置文档 : https://google.github.io/android-gradle-dsl/2.3/com.android.build.gradle.AppExtension.html
- ProductFlavor 文档 : https://google.github.io/android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.ProductFlavor.html
一、gradle.properties 中配置编译参数
gradle.properties 中配置编译参数 , 注意等号两边不要有空格 ;
# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
# AndroidX package structure to make it clearer which packages are bundled with the
# Android operating system, and which are packaged with your app"s APK
# https://developer.android.com/topic/libraries/support-library/androidx-rn
android.useAndroidX=true# 配置是否在 Google Play 上架
isGooglePlay=true
# 配置当前的应用市场
market=GooglePlay
二、在 build.gradle 中配置 BuildConfig.java 生成信息
这里调用
void buildConfigField(String type, String name, String value)
方法 , 向 生成的 BuildConfig 类中添加新的字段 , 生成的字段样式为
<type> <name> = <value>;
这里需要注意 , 上述 333 个字符串原封不动的替换 ,
如果是字符串 , 需要使用如下样式声明 , 字符串外部的双引号 , 也需要手动使用转移字符串生成 ;
buildConfigField("String", "market", "\"${market}\"")
声明 BuildConfig 字段代码 :
android {compileSdkVersion 30buildToolsVersion "30.0.3"defaultConfig {applicationId "com.example.classloader_demo"minSdkVersion 18targetSdkVersion 30// 应用是否在 Google Play 上架buildConfigField("boolean", "isGooglePlay", isGooglePlay)// 当前的应用市场buildConfigField("String", "market", "\"${market}\"")}
}
参考文档 : android-gradle-dsl-gh-pages/2.3/com.android.build.gradle.internal.dsl.ProductFlavor.html
三、编译后生成的 BuildConfig 类
选择 " 菜单栏 / Build / Make Project " 选项 编译整个工程 , 或者使用 Ctrl + F9 快捷键 ;
编译完成后生成的 BuildConfig 类 :
package com.example.classloader_demo;public final class BuildConfig {public static final boolean DEBUG = Boolean.parseBoolean("true");public static final String APPLICATION_ID = "com.example.classloader_demo";public static final String BUILD_TYPE = "debug";public static final int VERSION_CODE = 1;public static final String VERSION_NAME = "1.0";// Field from default config.public static final boolean isGooglePlay = true;// Field from default config.public static final String market = "GooglePlay";
}
【Android Gradle 插件】gradle.properties 中配置编译参数并在 Java 代码 BuildConfig 中调用该参数相关推荐
- 【Android Gradle 插件】BuildType 编译类型配置 ③ ( javaCompileOptions 配置 | jniDebuggable 配置 )
文章目录 一.BuildType#javaCompileOptions 配置 二.BuildType#jniDebuggable 配置 Android Plugin DSL Reference 参考文 ...
- SonarQube中配置c语言/c++语言代码规则插件
文章目录 一.下载+安装+重新启动 1. 下载文件 2.安装 3. 重新启动SonarQube 4. SonarQube管控台验证 二.SonarQube管控台配置 2.1. 创建配置模板 2.2. ...
- 【Android】Android Studio 1.5+ 中混合调试Native和Java代码
[Android]Android Studio 1.5+ 中调试Native和Java代码 Android Studio 1.5+表示Android Studio 1.5版本以及以上. 网上大部分中文 ...
- 【Android 内存优化】Android 原生 API 图片压缩原理 ( 图片质量压缩方法 | 查找 Java 源码中的 native 方法对应的 C++ 源码 )
文章目录 一. 图片质量压缩方法 二. 查找对应的 Native 方法源码 三. 分析 Bitmap.cpp 中动态注册 Native 方法 在博客 [Android 内存优化]图片文件压缩 ( An ...
- Android ADT插件更新后程序运行时抛出java.lang.VerifyError异常解决办法
当我把Eclipse中的 Android ADT插件从21.1.0更新到22.0.1之后,安装后运行程序抛出java.lang.VerifyError异常. 经过调查,终于找到了一个有效的解决办法: ...
- SpringBoot中配置为开发模式,代码修改后不用重新运行
场景 SpringBoot中配置为开发模式,修改代码后不用重新运行. 实现 打开pom.xml,添加依赖 <!-- 添加如下依赖,配置为开发模式,代码做了修改,不用重新运行--><! ...
- Sublime Text 3中配置编译和运行Java的两个方法
方法一: 打开Sublime Text 3,依次点击Preference, Browse Packages,在打开的窗口中双击User文件夹,新建文件JavaC.sublime-build,用记事本打 ...
- java中的jpa_JPA教程–在Java SE环境中设置JPA
java中的jpa JPA代表Java Persistence API,它基本上是一个规范,描述了一种将数据持久存储到持久存储(通常是数据库)中的方法. 我们可以将其视为类似于Hibernate之类的 ...
- 在IDEA中创建maven项目编写java代码操作HDFS集群
一.安装win10编译过的hadoop 1.将编译好的hadoop包放在非中文目录 2.配置HADOOP_HOME环境变量 3.将hadoop包的bin目录加到PATH环境变量中 二.在idea中创建 ...
最新文章
- LeetCode 264. Ugly Number II--C++,Python解法
- ZendStudio导入一个已有的网站
- Gradle 设置本地maven
- smc数显压力表设定方法_压力控制器工作原理与设定方法
- 九大技巧教你快速提升移动应用登陆转化率
- BZOJ 1602: [Usaco2008 Oct]牧场行走 倍增裸题
- 如何对第一个Vue.js组件进行单元测试
- keras 双向LSTM 简单示例
- asp.net中SqlDataReader使用时关闭数据库连接的问题(转)
- (二):winelib用户手册1
- 免费下载《程序员面试宝典》.pdf
- 【笔记整理】通信原理第二章复习——随机信号分析
- 搭建Flutter-iOS开发环境
- (一)生成器详解——简单生成器
- 爬虫实战-爬取豆瓣读书书籍信息
- 2018-2019年世界经济危机是中国崛起最大的机遇!
- 精诚软件EASsoft-MES生产执行系统太阳能光伏领域解决案例
- Revit API 进阶之隐藏dll讲解.
- 堆和栈访问效率哪个更高
- JavaScript03