文章目录

  • 一、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 中调用该参数相关推荐

  1. 【Android Gradle 插件】BuildType 编译类型配置 ③ ( javaCompileOptions 配置 | jniDebuggable 配置 )

    文章目录 一.BuildType#javaCompileOptions 配置 二.BuildType#jniDebuggable 配置 Android Plugin DSL Reference 参考文 ...

  2. SonarQube中配置c语言/c++语言代码规则插件

    文章目录 一.下载+安装+重新启动 1. 下载文件 2.安装 3. 重新启动SonarQube 4. SonarQube管控台验证 二.SonarQube管控台配置 2.1. 创建配置模板 2.2. ...

  3. 【Android】Android Studio 1.5+ 中混合调试Native和Java代码

    [Android]Android Studio 1.5+ 中调试Native和Java代码 Android Studio 1.5+表示Android Studio 1.5版本以及以上. 网上大部分中文 ...

  4. 【Android 内存优化】Android 原生 API 图片压缩原理 ( 图片质量压缩方法 | 查找 Java 源码中的 native 方法对应的 C++ 源码 )

    文章目录 一. 图片质量压缩方法 二. 查找对应的 Native 方法源码 三. 分析 Bitmap.cpp 中动态注册 Native 方法 在博客 [Android 内存优化]图片文件压缩 ( An ...

  5. Android ADT插件更新后程序运行时抛出java.lang.VerifyError异常解决办法

    当我把Eclipse中的 Android ADT插件从21.1.0更新到22.0.1之后,安装后运行程序抛出java.lang.VerifyError异常. 经过调查,终于找到了一个有效的解决办法: ...

  6. SpringBoot中配置为开发模式,代码修改后不用重新运行

    场景 SpringBoot中配置为开发模式,修改代码后不用重新运行. 实现 打开pom.xml,添加依赖 <!-- 添加如下依赖,配置为开发模式,代码做了修改,不用重新运行--><! ...

  7. Sublime Text 3中配置编译和运行Java的两个方法

    方法一: 打开Sublime Text 3,依次点击Preference, Browse Packages,在打开的窗口中双击User文件夹,新建文件JavaC.sublime-build,用记事本打 ...

  8. java中的jpa_JPA教程–在Java SE环境中设置JPA

    java中的jpa JPA代表Java Persistence API,它基本上是一个规范,描述了一种将数据持久存储到持久存储(通常是数据库)中的方法. 我们可以将其视为类似于Hibernate之类的 ...

  9. 在IDEA中创建maven项目编写java代码操作HDFS集群

    一.安装win10编译过的hadoop 1.将编译好的hadoop包放在非中文目录 2.配置HADOOP_HOME环境变量 3.将hadoop包的bin目录加到PATH环境变量中 二.在idea中创建 ...

最新文章

  1. LeetCode 264. Ugly Number II--C++,Python解法
  2. ZendStudio导入一个已有的网站
  3. Gradle 设置本地maven
  4. smc数显压力表设定方法_压力控制器工作原理与设定方法
  5. 九大技巧教你快速提升移动应用登陆转化率
  6. BZOJ 1602: [Usaco2008 Oct]牧场行走 倍增裸题
  7. 如何对第一个Vue.js组件进行单元测试
  8. keras 双向LSTM 简单示例
  9. asp.net中SqlDataReader使用时关闭数据库连接的问题(转)
  10. (二):winelib用户手册1
  11. 免费下载《程序员面试宝典》.pdf
  12. 【笔记整理】通信原理第二章复习——随机信号分析
  13. 搭建Flutter-iOS开发环境
  14. (一)生成器详解——简单生成器
  15. 爬虫实战-爬取豆瓣读书书籍信息
  16. 2018-2019年世界经济危机是中国崛起最大的机遇!
  17. 精诚软件EASsoft-MES生产执行系统太阳能光伏领域解决案例
  18. Revit API 进阶之隐藏dll讲解.
  19. 堆和栈访问效率哪个更高
  20. JavaScript03

热门文章

  1. Unity3d Http Get请求
  2. 浅谈ThreadPool 线程池(引用)
  3. MY Fist 51CTO BLOG
  4. Makefile 书写命令
  5. hdu 2006 求奇数的乘积(c语言)
  6. POJ 3660 Cow Contest [Floyd]
  7. hdu-5794 A Simple Chess(容斥+lucas+dp)
  8. HTML5 localStorage本地存储
  9. ajax方法完整的事件流
  10. Educational Codeforces Round 7 B. The Time 水题