从演示应用程序内部获取Android库模块版本号
我可以通过编程方式获取我的应用程序的版本名,如: 然而,我有一个我正在制作的演示应用程序。在我的项目中(因为库和演示应用程序在同一个项目中),我使用 在其他应用程序中,人们会使用从演示应用程序内部获取Android库模块版本号,android,version-control,android-library,Android,Version Control,Android Library,我可以通过编程方式获取我的应用程序的版本名,如: 然而,我有一个我正在制作的演示应用程序。在我的项目中(因为库和演示应用程序在同一个项目中),我使用 在其他应用程序中,人们会使用 dependencies { implementation 'net.studymongolian:mongol-library:0.9.16' } 在演示应用程序中,我希望包括库的版本名,而不是演示应用程序的版本名。当然,我可以硬编码字符串,并在每次更新库时更新它,但这很容易出错。有没有办法以编程方式访问库
dependencies {
implementation 'net.studymongolian:mongol-library:0.9.16'
}
在演示应用程序中,我希望包括库的版本名,而不是演示应用程序的版本名。当然,我可以硬编码字符串,并在每次更新库时更新它,但这很容易出错。有没有办法以编程方式访问库模块的版本名
相关问题
- 使用
String libVersionName=your.lib.package.name.BuildConfig.VERSION\u name代码>
或者在您的库中,只需使用BuildConfig.VERSION\u NAME
即可获得它
注意:
应用程序模块中的BuildConfig.VERSION\u NAME
是your.app.package.NAME.BuildConfig.VERSION\u NAME
不知何故,BuildConfig的其他选项对我不起作用。
我最终得到了以下代码:
context.getPackageManager().getPackageInfo(“com.package.name”,0).versionName
对于我的库,“com.package.name”只是build.gradle依赖项的第一部分:
implementation 'com.package.name:library:1.0.0'
这很有效。在我的特定演示应用程序中,我得到了库的版本名:String versionName=net.studymongolian.monglibrary.BuildConfig.version\u name代码>如果您在项目中使用应用程序模块来测试库模块,则此操作将不起作用。它最终将从build.gradle返回版本名,该版本与应用程序模块关联,而不是与库模块关联,即使您指定了库的包。不适用于我:
dependencies {
implementation 'net.studymongolian:mongol-library:0.9.16'
}
implementation 'com.package.name:library:1.0.0'