如何让versionCode进入反应本机代码(android)

时间:2017-02-14 19:29:50

标签: android react-native build.gradle react-native-android

问题

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

OR

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

问题

我尝试以编程方式在我的应用程序中根据版本,构建和git sha获得版本号。格式基本上是version-gitsha-jenkinsBuildNumber(例如1.0.0-abc1234-83)。我可以通过使用bash脚本将其添加到Info.plist然后跟随How to read Info.Plist at run-time in react-native iOS app?以将其添加到我的index.ios.js中的默认道具中,从而使其在iOS上运行。我找不到在build.gradle中执行此操作的方法。

我尝试过的事情

现在,我正在使用类似于我在此处找到的内容替换defaultConfig中的versionName字符串:How to update version number of react native app

然后抓住它内部与react-native-device-info做出反应。我还从package.json中提取版本号1.0.0。最后,我想将jenkins内部版本号添加到versionCode的{​​{1}},但我无法通过defaultConfig将其删除。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

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