我使用Expo XDE创建了一个项目。我检查了这个Can't load expo app: Something went wrong,但我已经启用了#34;绘制其他应用程序"。当我扫描这个二维码时,它可以正常工作https://expo.io/@ajaysaini/first-proj,但是当我在Android设备上从XDE运行它时,它没有。
main.js
import Expo from 'expo';
import React from 'react';
import { StyleSheet, Text, View } from 'react-native';
class App extends React.Component {
render() {
return (
<View style={styles.container}>
<Text>Updating!</Text>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
});
Expo.registerRootComponent(App);
当我在设备上运行它时,它在Android设备上显示以下错误。我尝试多次在XDE中重启,但它并没有帮助我。
Dependency graph loaded.
11:19:21 AM
Starting React Native packager...
11:19:24 AM
Scanning 528 folders for symlinks in D:\Expo\first-proj\first-proj\node_modules (18ms)
11:19:24 AM
Loading dependency graph.
11:19:24 AM
Running packager on port 19001.
11:19:25 AM
11:19:33 AM
Project opened! You can now use the "Share" or "Device" buttons to view your project.
11:19:44 AM
Opening on Android device
11:19:54 AM
Dependency graph loaded.
11:21:41 AM
Opening on Android device
11:23:31 AM
Opening on Android device
错误:
There was an unhandled error: Could not load exp://
Stack Trace:
任何人都可以帮我解决出错的问题吗?
答案 0 :(得分:12)
您最好打开XDE Client并启用开发模式。然后,点击灰色齿轮以使主机&gt; LAN (局域网 - 这意味着通过WiFi与真实设备共享包)。
Localhost选项也可以正常工作,但根据Expo Debugging docs:
如果您使用的是LAN,请确保您的设备与开发机器位于同一个wifi网络上。这可能不适用于某些公共网络。除非您在模拟器中,否则localhost将不适用于iOS,并且只有在您的设备通过USB连接到您的计算机时,它才适用于Android。
此外,这是我几个月前写的一个视觉信息性答案,也可能有所帮助:How do I run an app on a real iOS device using Expo?
答案 1 :(得分:4)
我遇到了同样的问题,没有一种解决方案适合我。这里的问题是,Expo显示了您的手机无法连接的错误IP地址。
这就是我的解决方法。我将假设您在Windows上并使用LAN在设备上运行该应用。
ipconfig
并找到您的本地IP。它应该是
在IPv4 Address
部分下列为Wireless LAN Adapter
。它
看起来像192.168.xx.x
exp://192.168.xx.x:19000
。将此文本复制到剪贴板。Open from Clipboard
选项
顶端。按下它,您的应用应该会加载。现在,无论何时要加载应用程序,都可以复制相同的地址并在Expo中打开它。
我发现了另一个更简单的解决方法。运行命令
set REACT_NATIVE_PACKAGER_HOSTNAME=192.168.xx.x
之前的expo start
。这个 将在Expo Dev Tools中设置正确的IP。
希望这会有所帮助。
答案 2 :(得分:3)
答案 3 :(得分:2)
我尝试了此处给出的建议,但不适合我的问题。 这对我有用。转到运行 localhost:19002 的浏览器,并将连接更改为隧道。扫描手机生成的新QR码。 希望这会有所帮助!
答案 4 :(得分:2)
有时问题是由于使用了错误的网络适配器优先级。
打开终端并运行
ipconfig
如果您的主LAN适配器未列为第一个适配器,则更改适配器优先级可以解决问题。只需按照以下步骤操作即可:
转到控制面板>网络和Internet>网络连接
右键单击您的主局域网
单击属性> Internet协议版本4
单击属性>高级
取消选中“自动指标”
在“接口指标”中输入10
单击“确定”
答案 5 :(得分:1)
我建议在运行Yarn之前删除npm : The term 'npm' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the
spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ npm install
+ ~~~
+ CategoryInfo : ObjectNotFound: (npm:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
文件夹
答案 6 :(得分:0)
我想很多人都必须完成以上所有操作,但仍然有出错的地方出错
文档可能已在本地构建时指定,并且您的设备已连接到计算机,则应单击Web调试页面上显示“ QRcode”图像的“本地”部分。
然后,在点击本地后,尝试再次扫描QRcode,您的错误应消失并显示正在加载的javascript资产。
答案 7 :(得分:0)
答案 8 :(得分:0)
检查您是在PC上还是在移动设备上运行VPN,请先将其关闭,然后重新启动。对我来说,这可以解决我的问题。
答案 9 :(得分:0)
将我的家庭网络从“公共”更改为“私人”对我来说很有效。 打开您的网络连接->右键单击您的家庭网络连接->属性->将“网络配置文件”从“公用”更改为“专用”
答案 10 :(得分:0)
在“开始”菜单上,单击“运行”,键入 WF.msc ,然后单击“确定”。
在具有高级安全性的Windows防火墙的左窗格中,右键单击“入站规则”,然后在操作窗格中单击“ 新规则”。
在“规则类型”对话框中,选择“ 端口”,然后单击“下一步”。
在“协议和端口”对话框中,选择“ TCP”。选择所有本地端口,然后单击下一步。
在“操作”对话框中,选择“允许连接”,然后单击“下一步”。
在“配置文件”对话框中,选择描述计算机连接的所有配置文件 您要连接到数据库引擎时的环境,然后单击“下一步”。
在“名称”对话框中,键入此规则的名称和描述,然后单击“完成”。
答案 11 :(得分:0)
请确保您的笔记本电脑和android设备连接到同一网络,并且应该能够解决该问题,就像对我一样。
答案 12 :(得分:0)
如果您使用防火墙,请确保将端口19000和19001列入了白名单。
答案 13 :(得分:0)
在我的情况下,这是VPN-断开连接后,成功将我的手机与VPN连接起来!
答案 14 :(得分:0)
我通过更新npm和node ..
解决了我的问题答案 15 :(得分:0)
假设:通过NPM / Yarn在计算机上安装了Expo(https://expo.io),在Android / iPhone上安装了Expo。 另外,电话与计算机位于同一无线网络中。
我的计算机通过WiFI连接,这对我来说是个问题。 Windows:命令行:$ ipconfig 查找您的计算机的Wifi IP地址。我的是Ip v4:192.168.1.xxx 在电话网络浏览器URL上输入网络浏览器:exp://192.168.1.xxx:19000 然后应该会看到一些文字,这表示电话正在通过网络进行连接(信号良好) 然后在Phone上打开expo,应该可以通过剪贴板看到链接。 单击电话上Expo程序内的剪贴板链接。 然后它将在手机上加载该应用程序。 这对我有用。 P.s首次使用时应遵循有关授予Expo许可等的说明。
答案 16 :(得分:0)
也许这可能有助于简单地解释一下,如果您的手机和计算机位于不同的网络上,则会发生此类错误。
我通过网络共享解决了这个问题,这样,我的两个设备不在同一网络上。
这可能意味着您可以将两个设备都连接到应能工作的同一个WiFi。
答案 17 :(得分:0)
由于某种原因,我与docker发生冲突,我禁用了它,并且它没有问题,我几乎可以确定它是hyper-V
答案 18 :(得分:0)
如果有人遇到类似的问题,我的问题与询问是否允许node.js与网络连接就可以了,
答案 19 :(得分:0)
我通过React Native团队的recomendation解决了同样的问题 - 安装和运行Genymotion软件::
如果我的应用程序成功运行,则IpV地址是相同的,例如:
exp://10.0.0.125:19000 and
ipconfig -> IPv4 Address. . . . . . . . . . . : 10.0.0.125