2017-02-02 42 views
0

有沒有辦法讓我的反應原生代碼保存在一個單獨的文件夾中,並且可以被Android和iOS項目使用?從共享的JS文件夾運行Android的本地代碼

我目前有一個適用於iOS和Android的應用程序。我需要爲應用程序使用react-native,並且遇到一些問題。我有一個3文件夾結構來完成這個:android,ios和js。目前,我有iOS項目正常工作,但Android項目是麻煩進來的地方。當我在模擬器或設備上運行Android應用程序,我得到錯誤Could not connect to development server

我對我的活動設置是這樣的:

reactRootView = new ReactRootView(this); 
reactInstanceManager = ReactInstanceManager.builder() 
    .setApplication(getApplication()) 
    .setJSMainModuleName("index.android") 
    .addPackage(new MainReactPackage()) 
    .setUseDeveloperSupport(true) 
    .setInitialLifecycleState(LifecycleState.RESUMED) 
    .build(); 
reactRootView.startReactApplication(reactInstanceManager, "SimpleApp", null); 
setContentView(reactRootView); 

當我運行這一點,錯誤窗口指示它無法連接到服務器,這是比我的本地主機(計算機),一個完全不同的IP地址。

我試過在設備上運行,並執行了adb reverse命令,但結果是一樣的。

我也嘗試添加:

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); 
     preferences.edit().putString("debug_http_host", "localhost:8081").apply(); 

但是,這仍然導致同樣的錯誤。

回答

0

與JS一起使用本地代碼是一個有點麻煩(我不知道它是否會工作或不),你可以創建你的應用程序的ios和android只需編寫一次代碼在js使用react native.And你的無法連接到開發服務器你必須去你的應用程序的根文件夾,並運行react-native start將運行包裝程序。請閱讀以下鏈接,獲取反應原生教程React-native

+0

我目前正在從JS文件夾運行react-native,並且我可以在模擬器中打開瀏覽器並指向localhost:8081/index.android.js並查看該文件。但是,該應用程序不能。我認爲它與我的'ReactInstanceManager'設置更相關。 – macandyp

相關問題