如何在React Native代码中获取versionCode(Android)

3

问题

是否可以在构建时从build.gradle或任何文件中将内容添加到index.android.js的默认props中,或者在运行时从build.gradle文件中获取versionCode?

问题描述

我正在尝试根据版本、构建和git sha在我的应用程序中以编程方式生成版本号。格式基本上是version-gitsha-jenkinsBuildNumber(例如1.0.0-abc1234-83)。我能够通过使用bash脚本将其添加到Info.plist并遵循如何在react-native iOS应用程序中运行时读取Info.Plist?来使其在我的index.ios.js的默认props中添加它们。我无法找到在build.gradle中执行此操作的方法。

我已经尝试过的事情

现在,我正在使用类似于我在如何更新反应本机应用程序的版本号中找到的东西将defaultConfig中的versionName字符串替换为git sha。

然后使用react-native-device-info在反应本机中抓取它。我还从package.json中获取版本号1.0.0。最后,我想将jenkins构建编号添加到defaultConfigversionCode中,但我无法使用react-native-device-info将其取出。

非常感谢任何帮助!


1
你能否使用 https://www.npmjs.com/package/react-native-config 来拼凑一些东西? - Laurent S
1个回答

2

最终我在构建时运行了一个脚本,将版本号等信息写入version.json文件中。然后在运行时,.js文件会导入该JSON文件并从中读取信息。我认为这是最简单和最清晰的方法,而且它也很有效!


1
我将其作为我的CI工作流的一部分。非常简单易行。 - Andrew

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