Debug环境对应Staging模式,Release包对应Production环境
一,Staging环境下测试
1,在build.gradle中根据buildtype类型配置debug和release包对应的codepush key。
buildTypes {
release {
buildConfigField "String", "CODE_PUSH_KEY", '"SynaFTIpUVcU8yY1EGJVRIOfyl234JzaZfEDl"'
minifyEnabled enableProguardInReleaseBuilds
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
signingConfig signingConfigs.config
}
debug {
buildConfigField "String", "CODE_PUSH_KEY", '"Yjf0au0JPRq5ww1TMTo7bgrCSZCy4JzaZfEDl"'
signingConfig signingConfigs.config
}
}
2,cd到项目的根目录,执行以下命令打JSBundle包,不管是debug包还是release包命令都是这个,没有影响。
react-native bundle --platform android --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/ --dev false
3,在studio中选择Build -> export singed apk 选择debug模式打包。
4,将debug模式的签名包发送到手机安装。
5,安装完成后,到js文件中做一些修改操作。
6,修改完后,命令行发布更新
code-push release-react ZSKQAndroid android (ZSKQAndroid为code-push中add的app名称)
二、Production环境测试
1,cd到项目的根目录,执行以下命令打JSBundle包,不管是debug包还是release包命令都是这个,没有影响。
react-native bundle --platform android --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/ --dev false (将图片资源放到res目录)
react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/assets (将图片资源放到assets目录)
2,执行build -> export signed apk生成release的apk包,发送到手机安装。
3,到js文件中做一些修改
4,修改完成后执行 code-push release-react ZSKQAndroid android -d Production 进行发布更新 (推送android目录)
code-push release zskq-android ./assets 2.0.1 --deploymentName Production (只推送assets目录)
5,重启app后自动下载更新。服务器在美国,有时更新不是很及时,要过几分钟才生效。