如何在Android项目中配置BuildConfig常量
16lz
2021-01-26
在AndroidStudio中构建项目的时候,可以通过build.gradle来配置一些常量,用于全局使用,比如说APP的版本号、作者名、公司名等等。那么怎么实现这些配置呢?
首先我们打开android项目app目录下的build.gradle文件
apply plugin: 'com.android.application'android { compileSdkVersion 29 buildToolsVersion "29.0.2" defaultConfig { applicationId "com.xing.app.xxx" minSdkVersion 17 targetSdkVersion 29 versionCode 1 versionName "1.0" multiDexEnabled true testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility = 1.8 targetCompatibility = 1.8 }}dependencies { //省略部分代码}
如果没有意外的话,打开应该是这个样子的
重点我们看
defaultConfig { applicationId "com.xing.app.xxx" minSdkVersion 17 targetSdkVersion 29 versionCode 1 versionName "1.0" multiDexEnabled true testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" //配置APP变量 buildConfigField ("boolean", "isOpen", "false") buildConfigField ("String", "str", "\"测试字符\"") buildConfigField ("int", "inin", "18") }
当我们加入buildConfigField语句之后,rebuild一下项目,就可以在该项目中的任何一个地方应用这个isOpen变量啦,比如
public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); //就像这样 boolean isOpen = BuildConfig.isOpen; String str = BuildConfig.str; int tmp = BuildConfig.inin; }}
可能眼睛尖的小伙伴已经发现了,为什么定义String类型的时候,要用转义字符加双引号呢?因为字符串类型较为特殊,在你编译完成之后如果不加双引号,就会发现BuildConfig类报错。。。原因就是字符串在定义的时候没有双引号
与此同时,BuildConfig类的情况是这样的
public final class BuildConfig { //下面就是我们通过field添加进来的变量 // Fields from default config. public static final int inin = 18; public static final boolean isOpen = false; public static final String str = "测试字符";//如果不加转义字符就会使这里报错}
更多相关文章
- Android开发准备——Java和Android(安卓)Studio环境搭建
- Android(安卓)换行
- Windows下快速搭建安卓开发环境Android(安卓)studio
- Android常用工具之对字符串String进行MD5加密
- 攻防世界-app3
- Android中application 全局变量
- Android(安卓)Studio Error—Gradle: 错误:编码 GBK 的不可映射
- Android文档学习05_网络1
- Android(安卓)Debug Bridge(ADB)的配置