【问题标题】:How to connect to the express development server using adb reverse?如何使用 adb reverse 连接到 express 开发服务器?
【发布时间】:2022-10-03 02:25:12
【问题描述】:

我目前正在按照本指南测试我的 react-native/express 应用程序:

我已经按照 React-Native 说明安装了 Android Studio,一切正常。我从 bash shell 运行 \"npm run android\",在另一个 shell 中运行我的 express\ 的服务器。它们属于同一个应用程序文件夹,但每个都在一个单独的文件夹中(分别是客户端和服务器文件夹)。

然后,当我尝试使用通过 USB 连接到笔记本电脑的手机时,我可以在手机内运行 React-Native 前端,但无法连接到开发服务器。我运行命令 \"$ adb -s reverse tcp:8081 tcp:8081\" 似乎什么也没发生。我的后端服务器在 4000 端口上运行,React-Native 似乎使用端口 8081 我也尝试连接到 \"$ adb -s reverse tcp:8081 tcp:4000\"。我也从前端文件夹和服务器文件夹尝试过,但没有。

我已经尝试过“方法 1:使用 adb reverse(推荐)”,仍然尝试使用其他方法。有趣的是,在使用命令时我发现了这个错误:

adb mdns check
    ERROR: mdns daemon unavailable

我做了一些研究,发现了这一点。我不知道它是否相关:

Android SDK Platform-Tools 是 Android SDK 的一个组件。它包括与 Android 平台交互的工具,主要是 adb 和 fastboot。尽管 Android 应用程序开发需要 adb,但应用程序开发人员通常只会使用 Studio 安装的副本。此下载很有用if you want to use adb directly from the command-line and don\'t have Studio installed.(如果您确实安装了 Studio,您可能只想使用它安装的副本,因为 Studio 会自动更新它。) (...) 虽然 adb 和 fastboot 中的一些新功能仅适用于最新版本的 Android,但它们是向后兼容的,因此您应该只需要最新版本的 SDK Platform-Tools,如果发现异常,则应提交错误。

编辑:

  • 添加更多信息,当我启动或杀死服务器后,守护进程在 tcp:5037 运行: npx react-native run-android
    * 守护进程未运行;从现在开始 tcp:5037
    * 守护进程启动成功

编辑 2:在 Abe 的回答之后添加 android 文件的图片。

    标签: android react-native express android-studio adb


    【解决方案1】:

    首先,获取运行测试服务器的机器的本地 IP。就我而言,它是192.168.1.4

    编辑

    android/app/src/debug/res/xml/network_security_config.xml

    并且,使用现有安全规则的格式,将服务器的本地 IP 添加到 domain-config 标记内。下面的示例完成版本(您应该只需要注释后的行)。

    <?xml version="1.0" encoding="utf-8"?>
    <network-security-config>
        <domain-config cleartextTrafficPermitted="true">
            <domain includeSubdomains="true">localhost</domain>
            <domain includeSubdomains="true">127.0.0.1</domain>
            <!-- New line, replace my IP with yours -->
            <domain includeSubdomains="true">192.168.1.4</domain>
        </domain-config>
    </network-security-config>
    

    您现在应该能够发送到您的等效 192.168.1.4:4000(请记住在请求中包含端口号!)。

    【讨论】:

    • 似乎是使用命令“npx react-native init <name>”创建的 RN 项目。没有那个文件。虽然它有:app/src/debug/AndroidManifest.xml 和 gradleResValues.xml。我把照片留在了新的编辑中。我会将此网络配置添加到其中之一吗?
    猜你喜欢
    • 2021-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 2019-01-15
    • 2023-03-19
    相关资源
    最近更新 更多