【问题标题】:How to connect to the localhost of an Android emulator?如何连接到安卓模拟器的本地主机?
【发布时间】:2019-10-04 13:15:49
【问题描述】:

请注意,我并没有尝试从 Android 模拟器连接到主机的 localhost,我几乎是在反向进行 - 我在 Android 模拟器内的 localhost 上启动了一个服务器并想要连接到那个来自计算机浏览器的 localhost。

我在 Flutter 上使用 Angel 框架。

import 'package:angel_framework/angel_framework.dart';
import 'package:angel_framework/http.dart';

Future<AngelHttp> startWebServer({int port = 3000}) async {
  var app = Angel();
  var http = AngelHttp(app);

  await http.startServer('localhost', port);
  print('Started HTTP server at ${http.server.address}:${http.server.port}');

  app.get('/', (req, res) => res.write('<p>Hello, world!<p>'));

  return http;
}

我应该设置哪些设置以及在浏览器中使用什么地址来从模拟器上运行的服务器接收“Hello World”?

【问题讨论】:

    标签: web server dart flutter


    【解决方案1】:

    您可以使用adb forward 做到这一点。见port forwarding

    adb forward tcp:3000 tcp:3000
    

    然后在你的电脑上你可以连接到http://localhost:3000,它会被路由到模拟器的3000端口。

    【讨论】:

    • 行得通!首先将~/Android/Sdk/platform-tools/ 添加到PATH,然后运行adb devices 以显示当前活动设备,运行adb -s [emulator-name] forward ... ... 解决了我的问题!非常感谢!!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多