【问题标题】:ReactNative custom port support for run-android command, McAfee workaroundReactNative 自定义端口支持 run-android 命令,McAfee 解决方法
【发布时间】:2022-02-21 20:00:55
【问题描述】:

我正在尝试为 Windows 配置 react native 以进行 android 应用程序开发,但我无法使用端口 8081,因为我的笔记本电脑上的 McAfee 代理正在使用它。 我可以在不同的端口(8090)上启动节点 js 服务器

react-native start --port=8090

但是当我运行命令时:

react-native run-android

我无法指定端口选项。看起来是用 8081 硬编码的。

无论如何我可以在 Windows 上为自定义端口(8090)端口启动 react-native run-android 吗? 我对 reactnative 完全陌生,并按照以下链接在 windows 上为 android 配置示例 Awesomeproject。

https://facebook.github.io/react-native/docs/getting-started.html#content

【问题讨论】:

    标签: react-native


    【解决方案1】:

    对此有一个小的解决方法。在物理设备上运行此程序的任何人(甚至)都可以使用不同的端口重新启动他们的 adb 会话。

    例如。

    react-native start --port=1234
    

    在不同的 cmd/终端窗口上。

    react-native run-android
    

    之后我收到了这些消息。

    BUILD SUCCESSFUL
    
    Total time: 22.589 secs
    Running C:\SDK/platform-tools/adb -s VY0025160560725694 reverse tcp:8081 
    tcp:8081
    

    这会在默认的反向端口 8081 上运行,该端口已被 McAfee 阻止。

    解决方法:

    adb reverse tcp:8081 tcp:1234
    

    注意:您可能需要杀死并重新打开应用程序。

    目前我无法为模拟设备提供答案,因为我的系统上没有安装模拟设备。但步骤应该类似。

    【讨论】:

    • 你拯救了我的一天@XChikuX。
    • 很高兴能帮上忙。感谢您的评论和投票。这让我很开心。
    【解决方案2】:

    正在使用 android 模拟器设置 RN。公司的笔记本电脑安装了 McAfee 并占用了 8081 端口时遇到了同样的问题。我做了 3 件事来让它发挥作用。

    1. 如上所述在不同的端口上运行打包服务器,例如8090 端口:react-native start --port=8090
    2. 我使用的是android模拟器(VD),所以我需要更改VD的调试服务器:在模拟器中cmd+M,进入Dev Settings→Debug server host for device,输入'localhost:8081'。如果您连接的是真正的安卓设备,则可以跳过此步骤。
    3. 最后要做的是将本地 VD 的 8081 端口中的请求转发到运行打包服务器的机器的 8090 端口,方法是:adb reverse tcp:8081 tcp:8090

    更多关于adb reverse

    现在您应该可以更改 index.android.js 并按两次 r 或 cmd+M -> Reload 以重新加载 VD。

    【讨论】:

      【解决方案3】:

      我找到了一个可行的解决方法(我在 Linux 上,但它也应该在 Windows 上工作)。

      在终端选项卡中,从项目根目录运行:

      react-native start --port=8082
      

      这会在端口 8082 上启动 Node。 然后,我使用以下命令启动应用程序:

      react-native run-android
      

      应用启动后,我会更新开发服务器的 urlport 以匹配上述设置(Cf. this answer,如果您不知道如何操作)。

      有效!!

      【讨论】:

        【解决方案4】:

        终于成功了!我也遇到了同样的问题,我的 8081 端口被 McAfee 使用,在阅读并尝试了所有解决方案之后,只有以下步骤对我有用,我可以在其中运行我的8088项目

        Steps :
        
        1. react-native init myproject(create myproject using react-native cli) then cd myproject(move to myproject)
        2. open android studio - ctrl + R => Replace 8081 to 8088 from every file.
        3. react-native run-android(simulator should be running).
        4. Check your local IP ex : ipconfig in windows will give your IP
        5. Check yourIP:8088 in your browser => It wil show(React Native packager is running.)
        6. At this time in your simulator you will get 403 forbidden error or package manager not running error
        7. Ok, Now you need to point your simulator to 8088 instead of 8081, So on your simulator type cntrl + m  => Dev settings => Debugging => Set IP eg : yourIP:8080
        8. Now stop package manager.
        9. Now remove .babelsrc from your project.
        10. Rerun the react-native run-android(If everything goes fine it will work).
        

        我知道这不是解决这个问题的最佳方法,但在 facebook 团队没有为它提供任何更好的解决方案之前,这可能是一个好方法,因为 8081 到处都是硬编码的。

        注意:在某些情况下我看到白屏没有任何错误。对于这个问题,请确保您已经删除了最初生成的 .babelsrc。 并停止服务器并重新启动应该可以解决此问题。

        【讨论】:

        • 这拯救了一天!
        【解决方案5】:

        目前不支持此功能,但似乎也存在一个活跃且未解决的问题,但不幸的是,核心团队还没有机会在 PR 中合并... https://github.com/facebook/react-native/issues/1429

        Product Pains 也对此进行了报道,因此请务必在那里投票... https://productpains.com/post/react-native/allow-packager-port-to-be-configurable-change-from-8081/

        现在,更改 McAfee 运行的端口可能更容易。对不起

        【讨论】:

        • 谢谢 Chris,这是目前唯一的选择。除非他们添加了对 windows 的支持。
        【解决方案6】:

        为此

        react-native start --port=1234
        

        你只需要这样做

        react-native run-android --port=1234
        

        就是这样,对我有用。 两个命令的更新端口,它们应该相同。

        【讨论】:

          猜你喜欢
          • 2016-03-17
          • 2013-09-09
          • 2020-05-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-01-09
          • 1970-01-01
          相关资源
          最近更新 更多