From 26708dc5bd2912f0e832b2a35c47ddf76846d55a Mon Sep 17 00:00:00 2001 From: tdzl2003 Date: Thu, 4 May 2017 20:23:16 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=AE=89=E5=8D=93?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=87=8D=E5=90=AF=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/reactnative/modules/update/UpdateModule.java | 12 ++++++------ package.json | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/android/src/main/java/cn/reactnative/modules/update/UpdateModule.java b/android/src/main/java/cn/reactnative/modules/update/UpdateModule.java index b07fd6f..02befd0 100644 --- a/android/src/main/java/cn/reactnative/modules/update/UpdateModule.java +++ b/android/src/main/java/cn/reactnative/modules/update/UpdateModule.java @@ -124,15 +124,15 @@ public class UpdateModule extends ReactContextBaseJavaModule{ Application application = activity.getApplication(); ReactInstanceManager instanceManager = ((ReactApplication) application).getReactNativeHost().getReactInstanceManager(); - if (instanceManager.getClass().getSimpleName().equals("XReactInstanceManagerImpl")) { - JSBundleLoader loader = JSBundleLoader.createFileLoader(UpdateContext.getBundleUrl(application)); - Field jsBundleField = instanceManager.getClass().getDeclaredField("mBundleLoader"); - jsBundleField.setAccessible(true); - jsBundleField.set(instanceManager, loader); - } else { + try { Field jsBundleField = instanceManager.getClass().getDeclaredField("mJSBundleFile"); jsBundleField.setAccessible(true); jsBundleField.set(instanceManager, UpdateContext.getBundleUrl(application)); + } catch (Throwable err) { + JSBundleLoader loader = JSBundleLoader.createFileLoader(UpdateContext.getBundleUrl(application)); + Field loadField = instanceManager.getClass().getDeclaredField("mBundleLoader"); + loadField.setAccessible(true); + loadField.set(instanceManager, loader); } final Method recreateMethod = instanceManager.getClass().getMethod("recreateReactContextInBackground"); diff --git a/package.json b/package.json index 23a3591..ef253b4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-update", - "version": "4.0.0", + "version": "4.0.2", "description": "react-native hot update", "main": "lib/index.js", "scripts": { From 946af316a658c17a9d75b99eacb55668c8f2d3bb Mon Sep 17 00:00:00 2001 From: tdzl2003 Date: Thu, 4 May 2017 20:26:19 +0800 Subject: [PATCH 2/6] merge --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ef253b4..b578c74 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-update", - "version": "4.0.2", + "version": "4.0.5", "description": "react-native hot update", "main": "lib/index.js", "scripts": { From 386986a494376aa7f7ee56d328f6d9ed413c5047 Mon Sep 17 00:00:00 2001 From: sunnylqm Date: Wed, 24 May 2017 11:36:37 +0800 Subject: [PATCH 3/6] Update faq_advance.md --- docs/faq_advance.md | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/docs/faq_advance.md b/docs/faq_advance.md index b1db694..29d745e 100644 --- a/docs/faq_advance.md +++ b/docs/faq_advance.md @@ -1,8 +1,19 @@ ## 常见问题 -#### 0.27以上版本RN报错问题 +#### 报错 NDK not configured. -升级到1.1.x即可解决。 +你需要下载并安装NDK,然后设置到环境变量`ANDROID_NDK_HOME`中。 + +#### 报错 Execution failed for task ':react-native-update:compileReleaseNdk' +参看 https://github.com/reactnativecn/react-native-pushy/issues/64#issuecomment-287967742 +  +#### iOS报错 Unable to execute JS call: __fbBatchedBridge is undefined + +如果直接修改了jsCodeLocation,将不能在iOS模拟器上运行。可以使用真机测试。要在发布之前测试热更新功能,可以用adhoc方式发布测试包并进行测试。adhoc发布的包可以用于uploadIpa和生成差异包。 + +#### XCode报错 "_BZ2_bzRead", referenced from 等 + +在工程target的Build Phases->Link Binary with Libraries中加入libz.tbd、libbz2.1.0.tbd ## 高级指南 @@ -42,20 +53,6 @@ 这时候,我们可以在元信息中包含有问题的版本的列表,而在客户端检查更新时,将从元信息里取到的列表与当前版本(currentVersion)比对, 如果匹配成功,我们就进行静默更新,否则则按照一般的更新流程提示用户。 -## 常见问题 - -#### 报错 NDK not configured. - -你需要下载并安装NDK,然后设置到环境变量`ANDROID_NDK_HOME`中。 - -#### iOS报错 Unable to execute JS call: __fbBatchedBridge is undefined - -如果直接修改了jsCodeLocation,将不能在iOS模拟器上运行。可以使用真机测试。要在发布之前测试热更新功能,可以用adhoc方式发布测试包并进行测试。adhoc发布的包可以用于uploadIpa和生成差异包。 - -#### XCode报错 "_BZ2_bzRead", referenced from 等 - -在工程target的Build Phases->Link Binary with Libraries中加入libz.tbd、libbz2.1.0.tbd - #### 这个热更新服务收费吗? 目前我们的热更新服务完全免费,但限制每个账号不超过3个应用;每个应用不超过10个活跃的包和100个活跃的热更新版本;每个应用每个月不超过10000次下载。iOS和Android版本记做不同的应用。 From 7d28737f9de3c24e15c1a7d2d5cae079217297a2 Mon Sep 17 00:00:00 2001 From: sunnylqm Date: Fri, 16 Jun 2017 17:08:58 +0800 Subject: [PATCH 4/6] Update README.md --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4816a05..1a846a2 100644 --- a/README.md +++ b/README.md @@ -11,8 +11,9 @@ React Native版本 | react-native-update版本 <= 0.26 | 1.0.x 0.27 - 0.28 | 2.x 0.29 - 0.33 | 3.x -0.34 - 当前  |   4.x - +0.34 - 0.44  |   4.x +0.45         |   尚不支持 +  ### 优势 1. 命令行工具&网页双端管理,版本发布过程简单便捷,完全可以集成CI。 From 80a524d15dc6da8774b610a66e8812a723577453 Mon Sep 17 00:00:00 2001 From: sunnylqm Date: Thu, 29 Jun 2017 10:24:09 +0800 Subject: [PATCH 5/6] Update guide.md --- docs/guide.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/guide.md b/docs/guide.md index 7621233..6f5222c 100644 --- a/docs/guide.md +++ b/docs/guide.md @@ -6,20 +6,19 @@ 所以我们也假设你已经拥有了开发React Native应用的一切环境,包括`Node.js`、`npm`、`XCode`、`Android SDK`等等。 -如果你之前没安装过,你还必须安装[Android NDK](http://androiddevtools.cn),并设置环境变量`ANDROID_NDK_HOME`,指向你的NDK根目录(例如`/Users/tdzl2003/Downloads/android-ndk-r10e`)。 +如果你之前没安装过,你还必须安装[Android NDK](http://androiddevtools.cn),版本最好选用r10e,并设置环境变量`ANDROID_NDK_HOME`,指向你的NDK根目录(例如`/Users/tdzl2003/Downloads/android-ndk-r10e`)。 ## 安装 在你的项目根目录下运行以下命令: ```bash -npm install -g react-native-update-cli rnpm +npm install -g react-native-update-cli npm install --save react-native-update@具体版本请看下面的表格 react-native link react-native-update ``` -`npm install -g react-native-update-cli rnpm`这一句在每一台电脑上仅需运行一次。 -如果RN版本低于0.29,请使用`rnpm link`代替`react-native link`命令。 +`npm install -g react-native-update-cli`这一句在每一台电脑上仅需运行一次。 * 注意 * @@ -38,8 +37,9 @@ React Native版本 | react-native-update版本 <= 0.26 | 1.0.x 0.27 - 0.28 | 2.x 0.29 - 0.33 | 3.x -0.34 - 当前  |   4.x - +0.34 - 0.44  |   4.x +0.45         |   尚不支持 +  安装命令示例: ``` npm install --save react-native-update@3.x From 82597307da545780a4e463883ba98a0aa2b4f669 Mon Sep 17 00:00:00 2001 From: sunnylqm Date: Fri, 14 Jul 2017 11:31:55 +0800 Subject: [PATCH 6/6] Update guide.md --- docs/guide.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/guide.md b/docs/guide.md index 6f5222c..c18ba46 100644 --- a/docs/guide.md +++ b/docs/guide.md @@ -37,9 +37,10 @@ React Native版本 | react-native-update版本 <= 0.26 | 1.0.x 0.27 - 0.28 | 2.x 0.29 - 0.33 | 3.x -0.34 - 0.44  |   4.x -0.45         |   尚不支持 -  +0.34 - 0.44  |  4.x +0.45         |  尚不支持 + + 安装命令示例: ``` npm install --save react-native-update@3.x