Skip to content

Silver47Gin/taro-code-push-demo

Repository files navigation

设置环境

$ yarn install
$ yarn podInstall
$ yarn global add appcenter-cli

开发流程

  1. 注册 appcenter 的账号,地址
  2. 命令行登录 appcenter
$ appcenter login
  1. scripts/env.sh中的CODE_PUSH_USERNAME导出值替换为自己的username
$ appcenter profile list
Username:     silver47gin-gmail.com
Display Name: silver47gin
Email:        silver47gin@gmail.com
  1. 创建 appcenter 应用,将下面的ANDROID_CODE_PUSH_APPIOS_CODE_PUSH_APP替换为自己的。并替换scripts/env.sh中的ANDROID_CODE_PUSH_APPIOS_CODE_PUSH_APP
$ appcenter apps create -d ANDROID_CODE_PUSH_APP -o Android -p React-Native
$ appcenter apps create -d IOS_CODE_PUSH_APP -o iOS -p React-Native
  1. 创建 appcenter 应用的deployment
$ source scripts/envs.sh
$ appcenter codepush deployment add -a $CODE_PUSH_USERNAME/$ANDROID_CODE_PUSH_APP Production
$ appcenter codepush deployment add -a $CODE_PUSH_USERNAME/$IOS_CODE_PUSH_APP Production
  1. 获取 deployment 对应的key,对应修改android\gradle.properties中的release_codepush_key=$ANDROID_CODE_PUSH_KEYios\taroDemo\Info.plist中的<string>$IOS_CODE_PUSH_KEY</string>
$ source scripts/envs.sh
$ appcenter codepush deployment list -a "$CODE_PUSH_USERNAME/$ANDROID_CODE_PUSH_APP" -k
$ appcenter codepush deployment list -a "$CODE_PUSH_USERNAME/$IOS_CODE_PUSH_APP" -k
  1. 根据网址生成安卓对应的 keystore,放到android\app文件夹下,对应修改android\gradle.properties中的配置
release_keystore_file=$RELEASE_KEYSTORE_FILE
release_keystore_password=$RELEASE_KEYSTORE_PASSWORD
release_keystore_key_alias=$RELEASE_KEYSTORE_KEY_ALIAS
release_keystore_key_password=$RELEASE_KEYSTORE_KEY_PASSWORD

编译以及打包流程

安卓端调试

$ yarn start
$ yarn android

安卓端打包

  • 此处存在 bug,第一次运行./gradlew assemble后,可能生成的 apk 中没有index.bundle.js,需要运行两次./gradlew assemble命令,目前原因不明。
$ yarn build:android
$ yarn install:android

安卓端更新 bundle

$ source scripts/envs.sh
$ yarn bundle:android
$ appcenter codepush release -c .temp/android -a "$CODE_PUSH_USERNAME/$ANDROID_CODE_PUSH_APP" -t "*" -d Production

ios 端调试

$ yarn start
$ yarn ios

ios 打包

  • 使用 xcode 打开 ios 文件夹
  • 选择 taroDemo 的 Scheme 和 Any Device 的 Destination
  • 点击菜单上的 Product -> Archive
  • 点击菜单中的 Window -> Organizar
  • 选中生成的 Archive,点击 Distribute APP,按照需要选择后续

ios 更新 bundle

$ source scripts/envs.sh
$ yarn bundle:ios
$ appcenter codepush release -c .temp/ios -a "$CODE_PUSH_USERNAME/$IOS_CODE_PUSH_APP" -t "*" -d Production

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published