如何将 versionCode 转化为 React 本机代码 (android)

How to get versionCode into react native code (android)

问题

是否可以在运行时从 build.gradle 或任何文件向 index.android.js 的默认道具添加内容?

从我的 react-native 代码中的 build.gradle 文件中获取 versionCode

问题

我正在尝试以编程方式根据版本、构建和 git sha 在我的应用程序中获得一个版本号。格式本质上是 version-gitsha-jenkinsBuildNumber(例如 1.0.0-abc1234-83)。我能够通过使用 bash 脚本将其添加到 Info.plist 然后按照 将它们添加到我的默认道具,从而使它在 iOS 上工作在我的 index.ios.js 中。我在 build.gradle.

中找不到执行此操作的方法

我试过的

现在,我正在用 git sha 替换 defaultConfig 中的 versionName 字符串,使用类似于我在此处找到的内容:

然后将其抓取到 React Native 中 react-native-device-info。我还从 package.json 中提取版本号 1.0.0。最后,我想将 jenkins 内部版本号添加到 defaultConfigversionCode,但我无法使用 react-native-device-info 将其删除。

如有任何帮助,我们将不胜感激!

我在构建时结束了 运行 一个脚本,它将 cat 版本号等放入 version.json 文件中。然后在运行时,.js 文件将导入那个 json 文件并从那里读取它。这是我想到的最简单、最干净的方法,而且效果很好!