如何修改IP和端口使用react-native Android?

Fre*_*ang 3 android react-native

我使用了反应原生的Android演示项目AwesomeProject并在我执行的项目中:

react-native start
Run Code Online (Sandbox Code Playgroud)

在第二个终端:

react-native run-android
Run Code Online (Sandbox Code Playgroud)

启动网络服务器并安装Android APK.默认的Web服务器配置是localhost:8081,如何修改Web服务器端口,以及如何更新Android项目中IP和端口的记录.

编辑:

我刚刚发现可以在Android调试设置中修改IP地址,似乎"getDebugServerHost"是私有API,Facebook是否提供任何API来更改ip&port?

Tom*_*mty 7

由于OP上MossP的评论答案,但是现在可以通过实现debug_http_host共享偏好(见这个问题).

因此,如果您想使用端口8082,您可以onCreateMainActivity.java文件中添加一个方法,可能如下所示:

@Override
protected void onCreate(Bundle state){
    super.onCreate(state);

    SharedPreferences preferences =
        PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
    preferences.edit().putString("debug_http_host", "localhost:8082").apply();
}
Run Code Online (Sandbox Code Playgroud)

当然不忘导入android.content.SharedPreferences,android.os.Bundleandroid.preference.PreferenceManager.

这将使您的应用程序尝试访问所需端口而不是8081的打包程序.

然后,你只要确保先从打包--port 8082(如描述在这里),你应该准备就绪.(除非您碰巧使用核素,这是另一个故事).

请注意,直到React Native 0.46,这将只允许成功运行应用程序,但仍然无法在非标准端口上实际附加调试器.从React Native 0.46开始,附加调试器也应该有效.