尝试使用 ionic cordova run android --device 时找不到设备/模拟器

问题描述 投票:0回答:3

连接的设备:

  • 它正在运行开发者选项并启用了USB调试

  • 它使用MTP作为设备文件管理器

  • 驱动程序已安装到笔记本电脑,没有任何问题,我可以正常浏览文件

当我运行时:

ionic cordova run android --device
我得到以下输出:

BUILD SUCCESSFUL in 5s
42 actionable tasks: 42 up-to-date
Built the following apk(s):
    C:\Users\K-PC\myApp\platforms\android\app\build\outputs\apk\debug\app-debug.apk
native-run.cmd android --app platforms\android\app\build\outputs\apk\debug\app-debug.apk --device
[native-run] ERR_NO_DEVICE: No hardware devices found. Not attempting emulator because --device was specified.
[native-run]
[native-run]    More details for this error may be available online:
[native-run]
[native-run]    https://github.com/ionic-team/native-run/wiki/Android-Errors
[ERROR] An error occurred while running subprocess native-run.

        native-run.cmd android --app platforms\android\app\build\outputs\apk\debug\app-d... exited with exit code 1.

        Re-running this command with the --verbose flag may provide more information.

我检查了设备是否已使用

native-run android --list
列出,并得到以下输出:

Errors (!):

  ERR_UNSUITABLE_API_INSTALLATION: No suitable API installation found.

        More details for this error may be available online:

        https://github.com/ionic-team/native-run/wiki/Android-Errors

Connected Devices:

  No connected devices found

Virtual Devices:

  No virtual devices found

我安装了 Android Studio,我的 AVD 管理器中有两个虚拟设备:

我想将 APK 部署到连接到我的笔记本电脑的设备上,而不是这些模拟器上,但奇怪的是它甚至没有识别我的 AVD 管理器中的模拟器

如何解决这个问题?我希望我已经提供了足够的细节。

android ionic-framework native ionic-native
3个回答
7
投票

我也遇到了同样的问题。
我像这样解决了这个问题:离子论坛

如果命令

adb devices
返回设备和模拟器的列表,但命令
ionic cap run android --list
无法识别这些,问题可能是所需的环境变量
ANDROID_SDK_ROOT
ANDROID_HOME
未设置。

$ adb devices
List of devices attached
817460470221    device
emulator-5554   device

$ ionic cap run android --list
[INFO] No native targets found.

要设置此变量,首先找到android sdk位置,为此,您可以转到android-studio并在菜单工具> SDK管理器中,搜索调用部分

Android Location
,导出用于运行的shell实例中的两个变量
ionic
命令。

就我而言,我这样做了

export ANDROID_SDK_ROOT="/home/myhome/Android/Sdk"
export ANDROID_HOME="/myhome/myhome/Android/Sdk"  

6
投票

使用亚行

adb devices

该命令应该为您提供已连接设备的列表。您必须接受电话上的调试模式。在尝试使用硬件设备运行应用程序之前,您应该检查adb是否至少与一台设备有连接。可能会出现一些问题,例如:

  1. 设备列表为空:这意味着设备未正确连接或 USB 电缆有问题(可能已损坏)。
  2. 未授权:未接受手机调试授权时出现。
  3. 离线:手机有一个名为 daemon 的小服务,允许它与计算机连接,以便传输文件并监听更改。当此服务未运行时,它会停止与计算机的连接。可以通过重启设备或连接/断开USB线直到可以显示“在线”来解决。

总而言之,您应该运行此代码:

  1. 在 Android 设备上启用调试模式。还可以在同一配置视图中启用 USB 调试。
  2. 运行
    adb devices
    ,授权连接电脑。解决上面已经评论的问题(如果有的话)。
  3. 运行
    ionic cordova run android --device
  4. 快乐编码时间!

0
投票

以前的解决方案对我没有帮助。我最终通过threadthread2发现了这个命令:

npx native-run android --list --verbose

用它我发现了一些错误,包括:

ERR_UNSUPPORTED_API_LEVEL: Unsupported API level: 34

在做一些研究时,我看到一些人建议目标 SDK 33。在 Android Studio 的 SDK 管理器中安装它并使用 API 33 创建一个新的模拟器后,我返回到 ionic 命令。

尝试使用 ionic 执行命令后:

ionic cap run android --verbose

我发现还需要将 JDK 11 更新到 17。如果您遇到此问题,您可能还会收到 此模拟器未显示错误

毕竟

everything worked!

© www.soinside.com 2019 - 2024. All rights reserved.