Expo SDK 需要 Expo 才能运行。似乎本机 Expo 模块不可用,并且此代码未在 Expo 上运行。我想生成apk

Posted

技术标签:

【中文标题】Expo SDK 需要 Expo 才能运行。似乎本机 Expo 模块不可用,并且此代码未在 Expo 上运行。我想生成apk【英文标题】:The Expo SDK requires Expo to run. It appears the native Expo modules are unavailable and this code is not running on Expo. I want to generate apk 【发布时间】:2020-01-14 22:37:35 【问题描述】:

我正在使用 expo-cli@3.0.10 此应用程序在安装在设备中的客户端博览会中运行良好

【问题讨论】:

【参考方案1】:

好的,我相信我找到了核心问题 - DNS 问题

无论您使用的是 Mac OS、Windows 还是 Linux,您的 android 模拟器都无法使用您当前的 DNS 正确解析主机名。

按照此link 将您的 DNS 地址设置为 8.8.8.8 或其他适用的 DNS。

正确设置 DNS 后,它应该可以工作。 确保 8.8.8.8 是 DNS 地址列表(?)中的第一个 DNS 地址,以便您的系统首先使用 Google DNS 解析主机名。


从下面的链接重新发布有用的信息,

将网络的 DNS 地址更改为 8.8.8.8:

MacOSX:

Open "System Preferences"
Click on "Network"
Select the network which your computer is connected and click on "Advanced"
Select "DNS", Select the "+" button, type "8.8.8.8"
Select "Ok" and "Apply"

Windows 和 Linux:

https://developers.google.com/speed/public-dns/docs/using

然后关闭模拟器并重新启动。

【讨论】:

我的目的是生成apk。 如果你想生成 .apk 然后在你的命令行中运行expo build:android -t apk 就像这里描述的那样? docs.expo.io/versions/latest/distribution/… 如何生成签名的apk? expo build:android -t app-bundle 并让 expo 处理应用签名。 谢谢Wong!,我创建了一个简单的标签应用程序,它的大小是43MB,为什么太多了【参考方案2】:

每当我从一个网络切换到另一个网络而没有重新启动我的模拟器时,我都会发生这种情况。

解决这个问题的最简单方法是重新启动我的模拟器。

希望对你有帮助

【讨论】:

【参考方案3】:

就我而言,发生此错误是因为我在项目构建时从 LAN 更改为无线 Internet 连接。

解决方案:关闭模拟器并重启 Android Studio。运行项目(npm start 或 expo start),这对我有用。

【讨论】:

【参考方案4】:
    您需要先启动expo server。使用expo start。然后运行您的项目。

启动您的 expo 服务器后重新启动您的项目。

【讨论】:

我遇到了同样的问题。这不是因为 OP 没有运行命令expo start。现在也在调查这个问题。

以上是关于Expo SDK 需要 Expo 才能运行。似乎本机 Expo 模块不可用,并且此代码未在 Expo 上运行。我想生成apk的主要内容,如果未能解决你的问题,请参考以下文章

开玩笑:测试套件无法运行(Expo SDK 需要 Expo 才能运行)

由于我更新了 expo-sdk,我无法运行我的 expo 项目

Expo大作战(三十二)--expo sdk api之Noifications

Expo大作战(四十一)完--expo sdk 之 Assets,BarCodeScanner,AppLoading

Expo大作战(二十六)--expo sdk api之Video和WebBrowser

Expo大作战(二十七)--expo sdk api之Util(expo自带工具类),tackSnapshotAsync,Svg,SQLite