运行 adb 时出错:运行应用程序时出错。错误:Activity 未启动,无法解析 Intent
2017-08-28
15233
嗨,我正在尝试在我的 react-native 项目上运行“yarn android”。并且遇到了以下错误:
yarn android v0.27.5
$ react-native-scripts android
10:37:45 AM: Starting packager...
10:39:34 AM: Starting Android...
10:39:37 AM: Packager started!
To view your app with live reloading, point the Expo app to this QR code.
You'll find the QR scanner on the Projects tab of the app.
<QR CODE>
Or enter this address in the Expo app's search bar:
exp://172.19.29.31:19000
Your phone will need to be on the same local network as this computer.
For links to install the Expo app, please visit https://expo.io.
Logs from serving your app will appear here. Press Ctrl+C at any time to stop.
Error running adb: Error running app. Error: Activity not started, unable to resolve Intent { act=android.intent.action.VIEW dat=exp://172.19.29.31:19000 flg=0x10000000 }
(node:28009) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): TypeError: Cannot read property 'length' of null
我使用 create-react-native-app 生成器来设置我的应用程序,这是我的项目结构:
<username>$ls
App.js app.json gen package.json
App.test.js assets my-app-key.keystore stylesheet.js
README.md components node_modules yarn.lock
我也尝试使用我的 expo 应用程序扫描二维码以在我的手机上运行我的应用程序,但它达到 100% 然后应用程序崩溃,或者它给出深蓝屏幕,其中错误为“未捕获错误”包装程序未在 http::19003 运行“(即使我扫描的端口是 http:19000)。
我刚刚也尝试运行“npm start”,然后运行“a”作为 android 选项,但收到消息: 11:40:20 AM:正在启动 Android...
Error running adb: Error running app. Error: Activity not started, unable to resolve Intent { act=android.intent.action.VIEW dat=exp://172.19.29.31:19000 flg=0x10000000 }
› Press a to open Android device or emulator, or i to open iOS emulator.
› Press q to display QR code.
› Press r to restart packager, or R to restart packager and clear cache.
› Press d to toggle development mode. (current mode: development)
(node:31496) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): TypeError: Cannot read property 'length' of null
11:43:30 AM: Running app on SM-T560NU in development mode
11:44:01 AM: [sane] Warning: Lost connection to watchman, reconnecting..
有人能帮我解决这个问题吗?
3个回答
通过使用 Pixel 5 模拟器(Android 11 R - API 30)而不是默认的 Pixel 3a 解决了这个问题。 我在 MacBook Pro 2021 M1 Max(macOS Monterrey 12.3)上
-
首先(假设您的模拟器位于默认位置)打开您的
~/.zshrc
,并在其中的某个位置添加以下内容(如果您不确定在哪里,最好在底部):
export PATH=$PATH:~/Library/Android/sdk/emulator/
- 然后打开 Android Studio 并单击“更多操作”,然后单击“虚拟设备管理器” Android Studio 上的虚拟设备管理器
- 这将打开一个新的“设备管理器”窗口。点击左上角的“创建设备”按钮
- 这将打开另一个带有设备列表的窗口。选择“Pixel 5”(行将变为蓝色),然后单击“下一步”(右下角) 选择“Pixel 5”
- 下载您需要的软件。我使用的是 Android 11 R,其余的我都忽略了。您可以在下面看到我的设置。此图像是您希望在 所有下载 完成 之后达到的状态(每次下载都会打开一个新窗口。完成后,只需单击右下角的“完成”即可)。当您看到如下所示的内容时,您可以单击“下一步”(左下角)。 下载必要的软件
- 在下一个屏幕上,我 强烈 建议将 AVD 重命名为更易于输入的名称。在我的情况下,它是“pixel5”。然后点击“完成”。然后您可以关闭 在此处输入图像描述
- 完成所有操作后,您可以通过打开终端窗口/选项卡并输入以下命令来检查您的模拟器和 PATH 是否设置正确。您应该会看到一个包含所有 AVD 的列表(包括您在步骤 7 中设置的名称)。
emulator -list-avds
-
假设您刚刚创建的 AVD 在那里,您可以通过输入“
emulator
+ [space] +@
+yourAvdName
”来启动它。就我而言:
emulator @pixel5
- 这将启动模拟器(如果您有多个桌面,请查看周围。有时我会在 Mac 上“不可见”的桌面上打开它。
- 现在,打开一个新的终端窗口/选项卡并导航到您的 react-native 项目。
- 启动 android 环境带有:
expo start --android
或
npm run android
现在只需等待。给它一些时间下载并启动 expo 应用程序,然后它应该会自动启动。🧑💻👍
Duclearc
2022-03-27
尝试删除 apk
rm -rf ~/.expo/android-apk-cache
来源: https://www.bountysource.com/issues/43329081-error-staring-android-emulator
Nghi Nguyen
2021-01-13