react-native code-push 多部署测试配置(Android)

在我们使用react-native 开发APP的过程中,因为使用了code push ,分别有prod staging key ,在android 代码中加入不同的key能够获取不同的js bundlle更新,但是手动去修改codepush key 打包过于麻烦。并且需要重复安装卸载不便于测试。所以这时候就需要部署一个staging的内测包方便测试(即release 对应 prod key ,staging包 对应 staging key)。

下面是Android 的多部署测试配置方法。

1 打开 android/app/build.gradle   

找到buildTypes部分为 buildConfigField 分别引用codepush  prod 和staging的部署密钥 ,debug不需引用。

这里的密匙引用了android根目录下build.gradle  ext中的值   

image.png

注意releaseStaging这个命名   在我命名为staging时  生成APK 启动时会crash    在log日志中提示

Unable to get the hash of the binary's bundled resources - "codepush.gradle" may have not been added to the build definition.

google之后找到解释

This ended up being an issue with React Native. It seems react.gradle expects all release variants to have the phrase release in them, otherwise it builds it as a development build.    

react.gradle要求其他版本都要包含release关键词

所以将内测版本命名内releaseStaging

issues地址   https://github.com/Microsoft/react-native-code-push/issues/462

2  打开 MainApplication.jjava 文件   

更改codepush 

image.png

3  

1 注意第一个步骤中buildTypes  

applicationIdSuffix    指定字段 会在构建版本的时候为内测包指定不同的包名   才能在android机器上同时安装 release staging 两个应用

在android./app/src 中创建目录结构,为staging版本覆盖资源文件 strgings.xml  ,复制main/res/values/strgings.xml内容

image.png

  修改app name 的应用名 用于区分release包的应用名         以及修改codepush  key 为 staging key 

image.png

4  buildTypes 其中其余的配置值就不一一解释了  

配置好这些后就可以开始打包了 

cd ./android  

./gradlew assembleReleaseStaging 就可以build出 内测包了。。


英文文档

https://github.com/Microsoft/react-native-code-push/blob/master/docs/multi-deployment-testing-android.md

日记本

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

赞赏支持
被以下专题收入,发现更多相似内容