开发者问题收集

运行 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)上

  1. 首先(假设您的模拟器位于默认位置)打开您的 ~/.zshrc ,并在其中的某个位置添加以下内容(如果您不确定在哪里,最好在底部):
export PATH=$PATH:~/Library/Android/sdk/emulator/
  1. 然后打开 Android Studio 并单击“更多操作”,然后单击“虚拟设备管理器” Android Studio 上的虚拟设备管理器
  2. 这将打开一个新的“设备管理器”窗口。点击左上角的“创建设备”按钮
  3. 这将打开另一个带有设备列表的窗口。选择“Pixel 5”(行将变为蓝色),然后单击“下一步”(右下角) 选择“Pixel 5”
  4. 下载您需要的软件。我使用的是 Android 11 R,其余的我都忽略了。您可以在下面看到我的设置。此图像是您希望在 所有下载 完成 之后达到的状态(每次下载都会打开一个新窗口。完成后,只需单击右下角的“完成”即可)。当您看到如下所示的内容时,您可以单击“下一步”(左下角)。 下载必要的软件
  5. 在下一个屏幕上,我 强烈 建议将 AVD 重命名为更易于输入的名称。在我的情况下,它是“pixel5”。然后点击“完成”。然后您可以关闭 在此处输入图像描述
  6. 完成所有操作后,您可以通过打开终端窗口/选项卡并输入以下命令来检查您的模拟器和 PATH 是否设置正确。您应该会看到一个包含所有 AVD 的列表(包括您在步骤 7 中设置的名称)。
emulator -list-avds
  1. 假设您刚刚创建的 AVD 在那里,您可以通过输入“ emulator + [space] + @ + yourAvdName ”来启动它。就我而言:
emulator @pixel5
  1. 这将启动模拟器(如果您有多个桌面,请查看周围。有时我会在 Mac 上“不可见”的桌面上打开它。
  2. 现在,打开一个新的终端窗口/选项卡并导航到您的 react-native 项目。
  3. 启动 android 环境带有:
expo start --android

npm run android

现在只需等待。给它一些时间下载并启动 expo 应用程序,然后它应该会自动启动。🧑‍💻👍

Duclearc
2022-03-27

如果您已从 Android Studio 的 AVD 创建了模拟器,请确保您已创建一个支持 PlayStore 的模拟器。

Choose the one with the PlayStore icon next to it.

在此处输入图片描述

这是我遇到的问题。

Utsav Barnwal
2022-07-08

尝试删除 apk

rm -rf ~/.expo/android-apk-cache

来源: https://www.bountysource.com/issues/43329081-error-staring-android-emulator

Nghi Nguyen
2021-01-13