关于react-native-updater-client

关于react-native-updater-client

package.json中引用:

react-native-updater-client:

"react-native-updater-client": "git+http://172.15.16.186/ReactNative/RNUpdaterClient.git#RN0.33"

手动配置步骤:
1)APP文件夹build.gradle中添加

compile project(':react-native-updater-client')

2)Android文件夹settings.gradle中添加

include ':react-native-updater-client'
project(':react-native-updater-client').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-updater-client/android')

3)Java文件中的MainApplication.java中使用UpdateReactNativeHost替换原生的ReactNativeHost

private  ReactNativeHost mReactNativeHost;
@Override
public ReactNativeHost getReactNativeHost() {
    if(mReactNativeHost!=null){
      return mReactNativeHost;
    }
    instanceHost();
    return mReactNativeHost;
}

 private void instanceHost() {
    if (mReactNativeHost != null) {
        return;
    }
    mReactNativeHost = new UpdateReactNativeHost(MainApplication.this) {
        @Override
        public boolean getUseDeveloperSupport() {
            return BuildConfig.DEBUG;
        }
        
        @Override
        protected List<ReactPackage> getPackages() {
            return Arrays.<ReactPackage>asList(
                    new MainReactPackage(),
                    ……
            );
        }

        @Nullable
        @Override
        protected String getJSBundleFile() {
            return super.getJSBundleFile();
        }

        @Override
        protected Headers getHeaders() {
            Headers.Builder headers = new Headers.Builder()
                    .add("Accept", "application/json");
            return headers.build();
        }

        @Override
        protected DownloadProgressCallback getDownloadProgressCallback() {
            return MainApplication.this;
        }

        @Override
        protected String getUpdateMetadataUrl() {
            return Constant.UPDATE_JS_URL;
        }

        @Override
        protected String getUpdateMetadataPlatform() {
            return "android";
        }

        @Override
        protected String getUpdateMetadataChannel() {
            return "self";
        }
    };
}

4)Java文件中的PluginList.java中配置

@ReactMethod
public void getJSCodeVersion(Callback callback) {
    WritableMap result = Arguments.createMap();
    result.putString("jsCodeVersion", UpdaterManage.getInstance().getLocalVersion());
    String jsPath = UpdaterManage.getInstance().getLatestJSCodeLocation();
    result.putString("jsPath",jsPath == null ? "" : jsPath);
    callback.invoke(result);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值