以编程方式获取AAR版本

3
我正在创建一个AAR库,在arr的清单文件中,我们有版本名称和版本代码。如何获取这个版本号?我不想得到主应用程序的版本,只想要库的版本。
是否有一种方法可以获取此版本号?
2个回答

5

步骤1:将这些值定义为资源。

步骤2:调整您的清单以引用这些资源。

步骤3:通过这些资源在您的应用程序的其余部分中引用这些值。


谢谢帮助。但现在版本是从build.gradle文件设置的。我该如何引用build.gradle中的字符串值? - Shrikanth Kalluraya
@ShrikanthKalluraya:在build.gradle文件(或gradle.properties)中定义一个常量。将其用于版本信息和定义资源的resConfig语句。或者,如果您只需要在Java代码中引用值,则可以使用该常量来添加字段到BuildConfigbuildConfigField语句中。 - CommonsWare
我能在build.gradle中使用BuildConfig来定义应用程序版本吗?抱歉,我从未尝试过这样做。我希望在Java和build.gradle中使用相同的值。你能指导我吗? - Shrikanth Kalluraya
不可以,但是你可以在build.gradle(或gradle.properties)中使用相同的值来填充buildConfigField和versionCode。 - CommonsWare
@CommonsWare 也许有一些 Gradle 技巧可以获取依赖版本,这样您就可以在运行时获取它了吗?即使您将其编写在 Android 库本身中,也可以做到。我在这里询问了相关内容:https://dev59.com/uMPra4cB1Zd3GeqPZiNl - android developer

0

我刚刚在我们的AAR库上测试了this answer,它可以很好地获取您的AAR lib的build.gradle中定义的versionName和versionCode。这似乎是最简单的解决方案。基本上:

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

或者在您的库中,只需使用BuildConfig.VERSION_NAME即可获取它。

对于versionCode,请使用:int libVersionCode = your.lib.package.name.BuildConfig.VERSION_CODE;


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接