在React Native [Android]中更新来自远程服务器的index.android.bundle



我正在创建一个正在实现erofs的演示本机应用程序[AEROFS库不过是每次打开应用程序时都会检查远程服务器的更新,如果可用更新,它将下载并要求用户在不播放商店的情况下申请更新]。

到目前为止,应用程序能够下载文件,但是下载后,我将无法在应用程序中看到任何更改。我确定新下载的捆绑包在活动中未使用。

在库中进一步检查时,我在ReactNativeAutoupDateractivity类(主类)中找到了以下方法: -

@Override
@Nullable
public String getJSBundleFile() {
   updater=ReactNativeAutoUpdater.getInstance(this.getApplicationContext());
   updater.setMetadataAssetName(this.getMetadataAssetName());
   return updater.getLatestJSCodeLocation();
}

ReactnativeAutoupDaterActivity从没有这种方法的反应性延伸。我认为这已移至ReactNativeNativeNativation Host,所以我知道这是问题所在文件已下载,我可以将其应用于应用。

mainapplication.java

import android.content.SharedPreferences;
import android.preference.PreferenceManager;
.
.
.
@Override
  public void onCreate(){
    super.onCreate();
    SharedPreferences preferences =
            PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
    preferences.edit().putString("debug_http_host", "128.xxx.xxx.xxx:1234").apply();
  }

使用远程VM时,未暴露端口8081,因此:

npm start -- --reset-cache --port=1234

appdelegate.m(ios):

jsCodeLocation = [NSURL URLWithString:@"http://128.xxx.xxx.xxx:1234/index.js"];

相关内容

  • 没有找到相关文章

最新更新