从共享的JS文件夹运行为native for native

时间:2017-02-02 15:56:43

标签: react-native react-native-android

有没有办法将我的react-native代码保存在一个单独的文件夹中,并被android和iOS项目使用?

我目前有一个适用于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);

当我运行它时,错误窗口表明它无法连接到服务器,这是一个完全不同于我的localhost(在计算机上)的IP地址。

我尝试在设备上运行,并执行adb reverse命令,但结果是一样的。

我也尝试过添加:

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

但这仍会导致同样的错误。

2 个答案:

答案 0 :(得分:0)

使用本机代码和JS是有点麻烦(我不知道它是否会起作用)你可以通过使用react native在js中编写一次代码来为ios和android创建应用程序。至于你的无法连接到开发服务器您必须转到应用程序的根文件夹并运行将运行打包程序的 react-native start 。阅读以下链接,了解react-native React-native

的教程

答案 1 :(得分:0)

请参阅以下主题中提供的答案。

Packager not started after running "react-native run-android"

希望它会对你有所帮助。