在我的应用程序中,我需要获取应用程序的版本代码和名称,因此我在使用以下语句。
obj.setCurrentVersion("APP " +
String.valueOf(BuildConfig.VERSION_NAME));
它工作正常,并返回正确的结果。但是现在,一旦我检查了BuildConfig类的所有值都是空的,它就返回空字符串。
public final class BuildConfig {
public static final boolean DEBUG = false;
public static final java.lang.String APPLICATION_ID = "androidx.multidex";
public static final java.lang.String BUILD_TYPE = "release";
public static final java.lang.String FLAVOR = "";
public static final int VERSION_CODE = -1;
public static final java.lang.String VERSION_NAME = "";
public BuildConfig() { /* compiled code */ }
}
Build_gradle文件apply plugin: 'com.android.application'
android {
signingConfigs {
config {
}
}
compileSdkVersion 28
defaultConfig {
applicationId "com.app.application"
minSdkVersion 21 //21
targetSdkVersion 28
versionCode 16 //15
versionName "2.0.4"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
为什么会发生这种情况以及如何解决? 最佳答案
您导入了错误的BuildConfig文件
删除您的BuildConfig导入并重新导入您的应用程序模块BuildConfig
关于java - Android BuildConfig类的值为null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62857780/