Запустите реакцию родного для Android из общей папки JS

Есть ли способ сохранить мой реактивный код в отдельной папке и использовать его как в проектах Android, так и в iOS?

В настоящее время у меня есть приложение, которое существует для iOS и Android. У меня есть необходимость использовать реактивную нативную для приложения, и у меня есть некоторые проблемы. Для этого у меня есть структура из трех папок: 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();

Но это все еще приводит к той же ошибке.


person macandyp    schedule 02.02.2017    source источник


Ответы (2)


Использование собственного кода вместе с JS немного громоздко (я не знаю, будет ли это работать или нет), вы можете создать свое приложение как для ios, так и для Android, просто написав код один раз в js, используя react native. А что касается вашего Не удалось подключиться к серверу разработки, вам нужно перейти в корневую папку вашего приложения и запустить react-native start, который запустит упаковщик. прочитайте следующую ссылку для учебника по React-native React-native

person Aayush Anand    schedule 02.02.2017
comment
В настоящее время я запускаю react-native из папки JS, и я могу открыть браузер в эмуляторе и указать на localhost:8081/index.android.js и просмотреть файл. Приложение, однако, не может. Я думаю, что это больше связано с моей установкой ReactInstanceManager. - person macandyp; 02.02.2017

Пожалуйста, обратитесь к моему ответу, представленному в следующей теме.

Упаковщик не запускается после запуска react-native run-android

Надеюсь, это поможет вам.

person not_dying    schedule 11.02.2017