从演示应用程序内部获取 Android 库模块版本号

Get Android library module version number from inside demo app

我可以通过编程方式获取我的应用程序的版本名称,例如 this:

String versionName = BuildConfig.VERSION_NAME; // 1.0

但是,我有一个 library 我正在制作的演示应用程序。在我的项目中(因为库和演示应用程序在同一个项目中)我使用

dependencies {
    implementation project(":mongol-library")
}

在其他应用程序中,人们会使用

导入它
dependencies {
    implementation 'net.studymongolian:mongol-library:0.9.16'
}

在演示应用程序中,我想包含库的版本名称而不是演示应用程序的版本名称。当然,我可以对字符串进行硬编码,并在每次更新库时更新它,但这很容易出错。有没有办法以编程方式访问库模块的版本名称?

相关问题

使用
String libVersionName = your.lib.package.name.BuildConfig.VERSION_NAME;

或者在您的图书馆中,只需使用 BuildConfig.VERSION_NAME 即可。


注意:
BuildConfig.VERSION_NAME 在应用程序模块中是 your.app.package.name.BuildConfig.VERSION_NAME

BuildConfig 的其他选项不知何故不适合我。 我最终得到了这段代码:

context.getPackageManager().getPackageInfo("com.package.name", 0).versionName

对于我的图书馆,“com.package.name”只是来自 build.gradle 的依赖项的第一部分:

implementation 'com.package.name:library:1.0.0'