BuildConfig的DEBUG总是正确的,不管我是在发行版中构建的。我知道BuildConfig文件实际上是在构建过程中生成的,并且在执行过程中DEBUG也总是正确的。
public final class BuildConfig {
public static final boolean DEBUG = Boolean.parseBoolean("true");
public static final String APPLICATION_ID = "myId";
public static final String BUILD_TYPE = "release";
public static final String FLAVOR = "prd";
public static final int VERSION_CODE = 1;
public static final String VERSION_NAME = "1.0";
// Fields from product flavor: prd
public static final String BASE_URL = "http://10.0.2.2:3000/";
}android {
compileSdkVersion 28
flavorDimensions "default"
defaultConfig {
applicationId "myId"
minSdkVersion 19
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
dataBinding {
enabled = true
}
signingConfigs {
debug {
storeFile file('../debug.keystore')
storePassword debugStorePassword
keyAlias debugKeyAlias
keyPassword debugKeyPassword
}
// FIXME
// https://developer.android.com/studio/publish/app-signing
release {
storeFile file('../debug.keystore')
storePassword debugStorePassword
keyAlias debugKeyAlias
keyPassword debugKeyPassword
}
}
buildTypes {
release {
testCoverageEnabled true
minifyEnabled false
signingConfig signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
debug {
signingConfig signingConfigs.debug
applicationIdSuffix ".debug"
}
}
productFlavors {
prd {
buildConfigField('String', 'BASE_URL', BASE_URL_LOCAL)
}
dev {
buildConfigField('String', 'BASE_URL', BASE_URL_LOCAL)
}
}
kotlinOptions {
jvmTarget = "1.8"
}
}发布于 2020-05-12 23:13:31
我找到了问题所在。
testCoverageEnabled true会自动将DEBUG设置为true,因此您必须删除它或将其放入调试buildType中。
https://stackoverflow.com/questions/61739357
复制相似问题