2017-12-14 8 views
0

aeroFSを実装しているデモを作成しています。https://github.com/redbooth/react-native-auto-updaterライブラリ [アプリケーションが開かれるたびにAerofsライブラリは何もありませんが、更新をチェックしますリモートサーバーから更新が利用可能である場合、ダウンロードし、プレイストアなしで更新プログラムを適用するようユーザーに依頼する]。リモートサーバからindex.android.bundleを更新する[Android]

これまでのところ、アプリはファイルをダウンロードできますが、ダウンロード後にはアプリで変更が見られません。新しくダウンロードしたバンドルはアクティビティで使用されていません。私はReactNativeAutoUpdaterActivityクラス(メインクラス)で、以下の方法を発見したライブラリ内の更なるチェックに

: -

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

ReactNativeAutoUpdaterActivityが、これはこれはReactNativeHostに移動していると思うmethod.I持たないReactActivityから延びだから私はこれが問題だと知っていましたが、今度は自分の反応するネイティブホストクラスを実装してメソッドを乗り越えなければならないので、新しいバンドルファイルがダウンロードされたらアプリケーションに適用できます。

+0

それでも私は同じ問題を抱えていますが、これについて誰も知りません。リモートからJSBundleを取得する必要がありますサーバー私は反応ネイティブでこれを必要とする誰も驚いていません。 –

答えて

0

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"];