BuildConfig.VERSION_NAME 可以在 Android 应用中使用来获取应用版本吗

Rah*_*and 1 android android-studio build.gradle

我需要在启动时使用获取应用程序的版本,因此我使用了VERSION_NAMEfrom BuildConfigwhich 有效,但是这是获取应用程序版本名称的正确方法吗?

我发现,如果应用程序的构建文件夹被删除,BuildConfig就会变成未定义或未导入的类,因此我们需要从构建菜单中再次创建项目来解决此问题。

我应该尝试其他选项来获取版本名称还是BuildConfig.VERSION_NAME可以?

当构建文件夹可用时有效(如预期)

在此输入图像描述

在此输入图像描述

没有构建文件夹/删除构建文件夹后

在重建项目并重新创建构建文件夹之前无法工作 在此输入图像描述

小智 6

您好,这是获取 Version_name 的正确方法,并且您还可以从相同的方法获取版本代码,所以这是正确的,确切发生的是,Gradle 允许 buildConfigField 行定义常量。这些常量将在运行时作为 BuildConfig 类的静态字段进行访问。这可以用于通过定义 defaultConfig 块中的所有字段来创建风格,然后根据需要覆盖它们以实现各个构建风格。

另外,你也可以有这样的代码,

PackageInfo pInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
String version = pInfo.versionName;//Version Name
int verCode = pInfo.versionCode;//Version Code
Run Code Online (Sandbox Code Playgroud)