Android build.gradle 中 使用 buildConfigField 动态设置参数,def声明变量
16lz
2021-01-23
apply plugin: 'com.android.application'apply plugin: 'kotlin-android'apply plugin: 'kotlin-android-extensions'apply from: 'dependency.gradle'android { compileSdkVersion 28 def ALI_APP_KEY_RELEASE = "\"xx\"" //如果不加转义符号\",默认构建出来是int类型 def ALI_APP_KEY_TEST = "\"xxxx\"" defaultConfig { applicationId "com.xx.xxxx" minSdkVersion 18 targetSdkVersion 28 versionCode 13 versionName "1.1.3" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" multiDexEnabled true ndk { abiFilters "armeabi" //只支持v7a } //Glide库9.0后的支持 vectorDrawables.useSupportLibrary = true compileOptions { targetCompatibility JavaVersion.VERSION_1_8 sourceCompatibility JavaVersion.VERSION_1_8 } } //给APK重命名 applicationVariants.all { variant -> variant.outputs.all { output ->// each 改为 all def fileName = "APP-${variant.versionName}-${variant.buildType.name}-Release.apk" def outFile = output.outputFile if (outFile != null && outFile.name.endsWith('.apk')) { outputFileName = fileName // output.outputFile 改为 outputFileName } } } signingConfigs { release { storeFile file("D:\\") //签名文件路径 storePassword "" keyAlias "" keyPassword "" //签名密码 v1SigningEnabled true v2SigningEnabled true } debug { storeFile file("D:\\") //签名文件路径 storePassword "" keyAlias "" keyPassword "" //签名密码 v1SigningEnabled true v2SigningEnabled true } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' //应用了signingConfigs中配置的签名 signingConfig signingConfigs.release //$ALI_APP_KEY_RELEASE应用了上边定义的变量 buildConfigField "String", "ALI_APP_KEY", "$ALI_APP_KEY_RELEASE" } debug { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' /* * 应用了signingConfigs中配置的签名(高德地图中定位只有在正式前面后才可用,如果使用Android自带的默认签名文件,在 * Debug模式下,不能定位,而这里在debug模式下也配置了自己的签名文件,所以即便在debug模式下,APP也能够定位) */ signingConfig signingConfigs.debug //$ALI_APP_KEY_RELEASE应用了上边定义的变量 buildConfigField "String", "ALI_APP_KEY", "$ALI_APP_KEY_TEST" } }}
注意:buildConfigField是在buildTypes中配置。
更多相关文章
- Android 下载文件至SD卡,并用progressBar显示下载进度
- Android--取出SDcard卡上指定后缀名的文件
- AndroidManifest.xml文件详解(service)
- Android 实现 选择文件对话框
- Android attrs文件(自定义)属性详解
- Android 使用AsyncHttpClient文件上传与下载
- linux下获取环境变量(Android)
- AndroidManifest文件中android属性