我正在创建一个正在实现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"];