我用命令创建了一个expo应用程序,并通过在目录中运行来启动它。exp init MyApp
exp start
MyApp
然后我正在扫描在 android 设备上使用expo移动应用程序在控制台中打印的条形码。
然后呈现“出现问题”屏幕而不是应用程序。
查看日志显示“未捕获的错误:无法加载 exp://.....”。
expo
打包程序控制台输出中没有错误。
它以前有时可以工作。
我用命令创建了一个expo应用程序,并通过在目录中运行来启动它。exp init MyApp
exp start
MyApp
然后我正在扫描在 android 设备上使用expo移动应用程序在控制台中打印的条形码。
然后呈现“出现问题”屏幕而不是应用程序。
查看日志显示“未捕获的错误:无法加载 exp://.....”。
expo
打包程序控制台输出中没有错误。
它以前有时可以工作。
为我解决这个问题的方法只是将连接从 LAN 更改为 Tunnel。当您启动一个 expo 应用程序时,将打开一个浏览器窗口,其中包含类似http://localhost:19002/的 URL 。左侧是默认设置为 LAN 的连接选项。在使用 expo 应用程序扫描 QR 码之前将其更改为 Tunnel 解决了它。
对我来说,通过 WiFi 运行时会出现问题,因为这些工具总是使用您的第一个连接(您可以通过运行来检查它ipconfig
),而我的第一个连接是互联网。
如果是这种情况,您可以尝试以下解决方法来更改连接优先级:
就我而言,通过在我的 Android (Galaxy Note 5) 上执行以下操作解决了该问题:
在进一步尝试完美工作之前,它仍然抛出了一个问题。
需要重置Expo
移动应用程序的“绘制其他应用程序”权限。
这是如何在 Android 6 上修复的。
设置->应用程序,按“齿轮”,找到“绘制其他应用程序”项并选择它。找到“Expo”应用程序,选择它。启用“允许在其他应用程序上绘图”选项以防它被禁用。否则,请禁用并再次启用它。
确保您使用与计算机相同的 iOS 或 Android 手机无线网络。
对我来说,它是通过在 Metro Bundler 中选择隧道连接而不是 LAN 来工作的。试试看....
就我而言,我在 XDE 中将“主机”设置为“本地主机”——这当然不适用于我的物理设备;-) 所以,如果您想在物理设备上调试,请确保您的主机已设置改为局域网。(Tunnel 也可以工作,但会使调试非常缓慢)
就我而言,当我将连接LAN更改为Local时它可以工作。但它需要通过数据线连接手机。
如果您有类似的问题,但错误显示“Uncought Error: java.lang.Exception: No launchable update”,请确保在开发时从 app.json 中删除“runtimeVersion”。奇怪的是,存在“runtimeVersion”可以在 iOS 上运行,但无法在 Android Expo Go 应用程序上运行。
我遇到了同样的问题,我通过停用 Virtualbox 互联网连接解决了这个问题,这是因为 Node 使用该连接来启动打包程序。
就我而言,世博会应用程序已过时。我刚刚从商店更新了博览会,它开始工作了。
对于使用 ESET 防火墙的任何人,您必须进入防火墙规则并允许端口 19000、19001、19002,高级->规则->编辑,在常规选项卡上选择方向->两者,操作->允许,然后访问本地选项卡和在端口字段添加上面提到的端口,单击确定。对需要添加的每个端口执行此操作。
我遇到了同样的问题,并通过使我的机器在网络上可发现的方式在 Windows 10 上修复了它:
对我来说,expo
还没有开始。所以expo start
在 VS Code 终端中解决了它。
做一些事情。
注意: Expo 不再适用于IOS物理设备。
如果发生任何问题,请告诉我!
本地连接对我有用。
先决条件:
(在我的例子中:D:\AppDevTools\Android\Sdk\platform-tools)
使用 USB 数据线将您的安卓手机连接到您的电脑。
在您的手机上启用 USB 调试。
我通过停用它来解决它,尽管您也可以打开 Expo 使用的端口 19000。
就我而言,问题不在于防火墙问题在于我的互联网我在两个不同的互联网上运行我的计算机和电话然后我将我的手机连接到连接到我的计算机的路由器,我再次尝试它工作
对于 macOS 用户并且如果您通过 Wi-Fi 运行:
这个过程解决了我的问题。
这取决于您使用的是什么操作系统。如果是Windows 8或更早版本,请尝试更新版本。在Windows 10和Windows 11中,它应该可以正常工作。尝试expo
全局安装而不是本地安装。
您还应该expo
在项目设置后安装在项目根目录中:
npm i expo // or npm i -g expo for global installation
如果您使用的是yarn,那么也试试npm。
对我来说,我必须关闭并杀死 expo(从 RAM)并关闭 QR 码覆盖视图才能使其在 Android 5.1.1 上运行。
有时我必须等待几分钟,否则我会得到一个摄像头视图和上面关于扫描 QR 码的文本(但在摄像头视图上没有扫描仪)。
就我而言,Windows防火墙阻止了它。所以,我通过关闭防火墙让它运行。
在我的情况下,手机连接到 VPN (CyberGhost),它只显示一个白屏 D:
按照以下步骤,这个问题很容易解决:
expo start
命令运行app可以看到localhost网页,在那个网页左边可以看到Connection,默认是Land,改成Tunnel。在我的 Mac 上卸载并重新安装 expo 为我清除了这个问题。世博会抱怨过时了。
如果您无法在手机的网络浏览器中加载 http URL,请尝试使用手机上的网络共享/移动热点功能(但要注意数据使用),将您的计算机连接到该 WiFi 网络,然后重新启动打包程序。如果您使用的是 VPN,您可能需要禁用它。
这些解决方案都不适用于 Android 模拟器。但我想通了:这是因为我几个月前所做的代理设置,我忘了删除。
对于 Android Emulator,可以通过以下方式解决:
settings --> Proxy
。No Proxy
。瞧。
对我来说,这是防病毒安全防火墙,我把它关掉了它运行良好
我相信这个问题是由于您的 AVD 和您的 expo 移动应用程序的版本不匹配而发生的。我用较新版本的 Nexus 6 API 创建了新的 AVD,问题得到了解决。我还需要重置 Expo 移动应用程序的“在其他应用程序上绘制”权限。