从演示应用程序内部获取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'