如何从库/依赖关系内部获取客户端应用程序的应用程序版本?

时间:2018-09-20 20:48:54

标签: android gradle android-gradle android-library android-version

我有一个自定义库,正在客户端应用程序中使用它作为依赖项。客户端应用程序的版本代码和名称如下:

versionCode versionMajor * 1000000 + versionMinor * 10000 + versionPatch * 100 + versionBuild
        versionName "${versionMajor}.${versionMinor}.${versionPatch}"

现在的挑战是,我可以轻松地在客户端应用程序中检索它,但是我希望能够将其检索到库/ dependency中并传递给服务器。任何人都知道如何去做吗?

1 个答案:

答案 0 :(得分:0)

问题是您无权访问库中的客户端应用程序资源和变量,直到您将应用程序声明为该库的依赖项为止。

我的建议是在客户端应用程序和库之间使用共享模块(将其添加为两者的依赖项),并在其中存储所需的资源以读取并发送到服务器。

您还可以使用Gradle变量存储您的应用程序版本,然后在每个模块build.gradle文件中使用它,以便将其声明为 BuildConfig字段,并将其用作常量跨Java类。有关如何声明Gradle BuildConfig字段here的更多信息。