1. 程式人生 > >熱更新codepush

熱更新codepush

初始化階段:
1:npm install -g code-push-cli 安裝客戶端
2:code-push -v 檢視是否安裝成功
3:code-push register 在codepush註冊賬號
4:code-push login
5:code-push app add <appName> <android/ios> react-native 新增app
例如code-push app add test android react-native
6:code-push app list 列出app列表
code-push deployment ls <appName> -k 檢視APP的key
code-push deployment history <appName> Porduction/Staging
例如:code-push deployment history test Production
7:yarn add react-native-code-push 在rn專案下安裝codepush
8:react-native link react-native-code-push 連結codepush
其他命令:

https://github.com/Microsoft/code-push/blob/master/cli/README-cn.md

配置階段
Android:
1:專案settings.build

include ':react-native-code-push'project(':react-native-code-push').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-code-push/android/app')

2:App/build.gradle








3:MainApplication裡面

@[email protected] String getJSBundleFile() { return CodePush.getJSBundleFile();}@Overridepublic boolean getUseDeveloperSupport() { return BuildConfig.DEBUG;}@Overrideprotected List<ReactPackage> getPackages() { return Arrays.<ReactPackage>asList( new MainReactPackage(), new CodePush(“CODEPUSH_KEY”, MainApplication.this, BuildConfig.DEBUG) );}

ios配置階段:
yarn add react-native-code-push
react-native link react-native-code-push
然後找到info.plist檔案
CodePushDeploymentKey 填入codekey
ios目前不能再debug模式測試更新 因為會一直載入本地jsbundle 覆蓋下載後的,所以看不到效果。
測試iOS:
開啟 AppDelegate.m檔案
1:修改:

jsCodeLocation = [CodePush bundleURL];//#ifdef DEBUG//// jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle?platform=ios&dev=true"];// jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios"fallbackResource:nil];//#else// jsCodeLocation = [CodePush bundleURL];//#endif//
2:開啟node_modules/react-native/scripts/react-native-code.sh 17-20

if [[ "$PLATFORM_NAME" = "iphonesimulator" ]]; then # echo "Skipping bundling for Simulator platform" # exit 0; # fi

JS端:

import codePush from 'react-native-code-push'componentDidMount(){CodePush.sync({ updateDialog: { mandatoryContinueButtonLabel:'更新', mandatoryUpdateMessage:'有新版本了,請您及時更新', optionalIgnoreButtonLabel: '稍後', optionalInstallButtonLabel: '後臺更新', optionalUpdateMessage: '有新版本了,是否更新?', title: '更新提示' }, installMode: CodePush.InstallMode.IMMEDIATE});}

使用階段:
釋出熱更新命令
code-push release-react test android --t 1.0.0 --dev false --d Production --des "更新描述” --m true
test:註冊codepush時APP的名字
android:平臺 Android/ios
t :要對那個版本進行熱更新這裡是對1.0.0進行更新
dev:是否是開發者模式
d:staging/production
des: 更新描述
m:是否強制升級
輸入命令後會自動打包生產檔案上傳到codepush上面

提示:
1:iOS和android最好將版本號改為x.x.x形式
2:使用staging時貌似成功機率很低
3:"react-native-code-push":"^4.1.0-beta",

截圖:

codeAndroid.png
codeAndroid.png
codeios.png
codeios.png
history.png
history.png

相關推薦

更新codepush

初始化階段: 1:npm install -g code-push-cli 安裝客戶端 2:code-push -v 檢視是否安裝成功 3:code-push register 在codepush註冊賬號 4:code-push login 5:code-push app add <appName&g

CodePush更新組件詳細接入教程

plist文件 android平臺 cli all 最新版本 tran 註冊登錄 att 包括 CodePush熱更新組件詳細接入教程 什麽是CodePush CodePush是一個微軟開發的雲服務器。通過它,開發者可以直接在用戶的設備上部署手機應用更新。CodePush

React Native更新CodePush使用)

dfa epush nodejs 管理 push alpha 輸入 進制 通過                                      React Native熱更新(CodePush使用)   在移動應用開發過程中,應用的發布上線一直是個耗時且長時間沒有

CodePush更新切換本地與微軟服務

之前測試code-push-server時候將服務端地址寫成本地了 操作程式碼: code-push login http://192.168.1.100:3000        此後很長一段時間沒有使用,並且本地服務程式碼、資料庫

利用CodePush對react-native專案更新(以android為例)

CodePush是提供給React native 或 Cordova開發的一箇中央倉庫,開發者可以將js、image等程式碼資源上傳上去,客戶端啟動的時候根據版本拉去CodePush上的程式碼進行覆蓋來實現客戶端的熱更新。 1,安裝CodePush npm install

react-native更新CodePush詳細介紹及使用方法

react-native熱更新之CodePush詳細介紹及使用方法 2018年03月04日 17:03:21 clf_programing 閱讀數:7979 標籤: react native熱更新code pus

CodePush 更新ReactNative之CodePush CLI操作

因為微軟開源的這個做的還不錯,所以拿來用了 1. CodePush CLI安裝 CodePush CLI安裝 : npm install -g code-push-cli 2. Account 賬號管理 註冊code-push reg

ReactNative基於CodePush實現更新整合詳解

安裝工具介紹 根據最新的官方文件和實際整合經驗整理 http://www.jianshu.com/p/54cd13ed9e95 工具名稱 描述 備註 Chocolatey Windows上的包管理器(需翻牆) 通常不安裝,使用 npm 即可 Pyth

使用CodePush更新ReactNative JS程式碼

糾結了半天,不知要不要用ReactNative來開發新專案, 例如本地儲存,例如webView 裡面js 與native 的互動,例如地圖,糾結。。。 通過檢視文件,一一得到答案,還是很想用ReactNative做這個專案。 最吸引我的就是傳說中的熱更新。但是,,具

CodePush更新雲服務在Cordova專案中的應用實踐

前言 由於App每次升級打包的繁瑣性,專案中不想進行二次打包,這就需要實時更新的服務,探索了許久,發現CodePush滿足了我們的需求。 CodePush 是微軟開發的,可以實時更新 React Native 和 Cordova 應用。 CodeP

ReactNative系列之十八codepush更新

目前僅針對Android,iOS後續再補 1、簡介 codepush是微軟的一套熱升級解決實現,還有一種是reactnatie中文網上的react-native-pushy。這兩種方案我都試了下,推薦使用codepush, codepush在github上看文件感覺很麻煩,

React Native用CodePush實現更新(一)

本文介紹用微軟預設的CodePush Cloud和將code-push-server放在本地伺服器上,以local作為storageType實現熱更新。1. 安裝 CodePush CLI:npm in

codepush更新

初始化階段: 1:npm install -g code-push-cli 安裝客戶端 2:code-push -v 檢視是否安裝成功 3:code-push register 在co

webpack-dev-middleware 和 webpack-hot-middleware 實現express全棧更新

express 自動刷新 你在 fig evm inf targe target ddl 場景: node server.js 啟動後端服務器。 npm run dev 啟動前端服務器。 當你需要node的express框架和webpack結合的時候,就會用到題上的

Unity更新技術整理

nil 支持 -s 運行 ram 創建 color 腳本語言 更改 一、熱更新學習介紹 1、什麽是熱更新 舉例來說: 遊戲上線後,玩家下載第一個版本(70M左右或者更大),在運營的過程中,如果需要更換UI顯示,或者修改遊戲的邏輯,這個時候,如果不使用熱更新,就需要重新打

webstrom的更新沒效果

data img alt http fmt use bsp 分享 rom webstorm保存的時候會先保存到臨時文件中,其實並沒有真正保存,要在setting->stystem settings下的“use save write”去掉 webstrom的熱更

蘋果下架4萬App就只是因為“更新

方式 音樂 新功能 遠程服務 ring 打開 java、 蘋果公司 其他 前去除軟件熱更新功能,不然有可能下架後,昨日(6 月 22 日),有媒體報道,一周內蘋果 App Store 下架了近 4萬款中國 App 。一種流行觀點認為,蘋果不是說著玩,而是真對熱更新動刀子了。

Unity編程筆錄--ulua+PureMVC框架簡單更新使用

ons data- 全部 lds center lin 腳本 mar 視圖 ulua+PureMVC框架簡單熱更新使用 前言: 1:作者官網論壇 首先介紹的是這個框架是一位大牛 駿擎【CP】 jarjin 寫的,據說原本是“非常多人不知道怎

ionic 更新 cordova-hot-code-push

ima auto width 自動 平臺 不同 2.3 轉載 加載 cordova-hot-code-push ,Cordova熱代碼推送插件提供了在應用程序中執行基於Web的內容的自動更新的功能。使用此插件可以更新存儲在項目的www文件夾中的所有內容。 cordova-h

webpack更新問題和antd design字體圖標庫擴展

成功 其他 一加 是你 sign 你在 一個 兩個 pri 附一張上周末參加jsconf的照片。。。。。 標題也不知道怎麽寫好,真是尷尬。不過話說回來,距離上一次寫文快兩個月了,最近有點忙,一直在開發新項目, 今天剛剛閑下來,項目準備提測。借這個功夫寫點東西,把新項目上學到