我正在使用Visual Studio Code中的Expo开发React Native应用。我正在Android Studio模拟器上渲染此应用,我正在Windows操作系统上开发。
直到最近,我在模拟器上渲染世博会应用程序时才遇到任何问题。我的Android模拟器突然停止渲染任何世博会应用程序,即使是新初始化的应用程序 (因此问题不可能是添加到我的源代码中的任何依赖项/模块)。
模拟器抛出的错误如下:
Something went wrong.
Could not load exp://127.0.0.1:19000
Uncaught Error:java.lang.Exception:{"error":"Error:self signed certificate in certification chain"}
终端在VS Code和Metro Bundler Developer Tools页面抛出的错误如下:
Error: self signed certificate in certificate chain
at TLSSocket.onConnectSecure (node:_tls_wrap:1530:34)
at TLSSocket.emit (node:events:390:28)
at TLSSocket._finishInit (node:_tls_wrap:944:8)
at TLSWrap.ssl.onhandshakedone (node:_tls_wrap:725:12)
我尝试在Metro Bundler开发者工具页面上的LAN和LOCAL选项之间切换,这两个选项都产生了上面的错误代码。
我尝试将NODE_TLS_REJECT_UNAUTHORIZED
环境变量设置为'0'
(我知道,我知道,不安全!),模拟器错误保持不变,而终端错误更改为:
Error: Request failed with status code 403
at createError (C:\Users\KCTCodingIm12\AppData\Roaming\npm\node_modules\expo-cli\node_modules\axios\lib\core\createError.js:16:15)
at settle (C:\Users\KCTCodingIm12\AppData\Roaming\npm\node_modules\expo-cli\node_modules\axios\lib\core\settle.js:17:12)
at IncomingMessage.handleStreamEnd (C:\Users\KCTCodingIm12\AppData\Roaming\npm\node_modules\expo-cli\node_modules\axios\lib\adapters\http.js:260:11)
at IncomingMessage.emit (node:events:402:35)
at endReadableNT (node:internal/streams/readable:1343:12)
at processTicksAndRejections (node:internal/process/task_queues:83:21)
如果我尝试在Metro Bundler中使用Tunnel选项,我会收到以下消息:
Successfully ran `adb reverse`. Localhost URLs should work on the connected Android device.
Using legacy dev server: false
Tunnel URL not found (it might not be ready yet), falling back to LAN URL.
Tunnel URL not found (it might not be ready yet), falling back to LAN URL.
Error starting tunnel Starting tunnels timed out
我还尝试使用$env:REACT_NATIVE_PACKAGER_HOSTNAME ="127.0.0.1"
手动设置REACT_NATIVE_PACKAGER_HOSTNAMEenv变量
我的packager-info.json中的端口号如下:
{
"devToolsPort": 19002,
"expoServerPort": 19000,
"packagerPort": 19000,
"webpackServerPort": 19006
}
博览会应用程序在Web浏览器中运行良好。
以下是我在Android Studio上直接尝试的内容:
1.我已尝试删除所有虚拟设备并重新创建它们。
1.我已经更新了所有的SDK工具。
1.我已经从Android Studio上的设备管理器中删除了数据。
1.我已经冷启动并清除了模拟器该高速缓存。
整个星期我都在解决这个问题,我已经尝试了比我上面列出的更多的“解决方案”--我被难住了。
我无法想象这是一个网络/连接问题,因为我在同一台设备上运行代码编辑器和Android模拟器。而且,就像我说的,我的模拟器已经连接好几个月了--我不知道是什么突然的问题。
3条答案
按热度按时间z31licg01#
我仍然不知道发生了什么事,但我确实想出了如何解决这个问题。
首先,我必须重置我的Android Studio设置回到默认状态.我通过删除
AndroidStudio4.X
文件夹找到:然后我必须删除所有全局安装的节点模块。我通过删除以下中的所有文件来做到这一点:
然后,我从终端中删除了global .expo文件,方法是导航到
C:\Users\username>
并输入rmdir .expo
。在我重置并卸载了所有这些东西之后,我用
npm install -g expo-cli
重新安装了Expo,我的Expo应用程序加载在我的Android模拟器上。再次-我不知道实际上是什么导致了这个错误,但这些步骤确实解决了它。
u5i3ibmn2#
确保您使用的iOS或Android手机的无线网络(互联网)**与笔记本电脑/PC的无线网络相同。
gv8xihay3#
expo build:android已停产(2023年1月4日)在终端中尝试此命令
步骤1:-
npm i -g eas-cli
步骤2:-
eas build:configure
步骤3:-
eas build -p android --profile preview