Get Android library module version number from ins

2020-08-21 01:17发布

问题:

I can programmatically get my app's version name like this:

String versionName = BuildConfig.VERSION_NAME; // 1.0

However, I have a demo app for a library I am making. In my project (since the library and the demo app are in the same project) I use

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

In other apps people would import it with

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

In the demo app I would like to include the library's version name rather than the demo app version name. I could hard code the string, of course and update it every time that I updated the library, but that would be error prone. Is there a way to programmatically access a library module's version name?

Related questions

  • Get the version number from an app from within a library
  • Android.Gradle: Is it possible to get current module name programmatically?

回答1:

Use
String libVersionName = your.lib.package.name.BuildConfig.VERSION_NAME;

or in your library, just use BuildConfig.VERSION_NAME to get it.


NB:
BuildConfig.VERSION_NAME in app module is your.app.package.name.BuildConfig.VERSION_NAME