我可以通过编程方式获取应用的版本名称,如this:
String versionName = BuildConfig.VERSION_NAME; // 1.0
但是,我有一个library正在制作的演示应用。在我的项目中(因为库和演示应用程序在同一个项目中)我使用
dependencies {
implementation project(":mongol-library")
}
在其他应用中,人们会使用
导入它dependencies {
implementation 'net.studymongolian:mongol-library:0.9.16'
}
在演示应用程序中,我想包含库的版本名称而不是演示应用程序版本名称。当然,我可以对字符串进行硬编码,并在每次更新库时更新它,但这很容易出错。有没有办法以编程方式访问库模块的版本名称?
相关问题
答案 0 :(得分:6)
使用
String libVersionName = your.lib.package.name.BuildConfig.VERSION_NAME;
或在您的图书馆中,只需使用BuildConfig.VERSION_NAME
即可获得它。
NB:
app模块中的BuildConfig.VERSION_NAME
为your.app.package.name.BuildConfig.VERSION_NAME
答案 1 :(得分:0)
以某种方式,BuildConfig的其他选项对我不起作用。 我最终得到了这段代码:
context.getPackageManager().getPackageInfo("com.package.name", 0).versionName
对于我的库,“ com.package.name”只是build.gradle依赖关系的第一部分:
implementation 'com.package.name:library:1.0.0'