【问题标题】:Android Emulator not running for Cordova App - adb -s emulator-5584 shell cat /proc/cpuinfoAndroid 模拟器没有为 Cordova 应用程序运行 - adb -s emulator-5584 shell cat /proc/cpuinfo
【发布时间】:2017-11-04 05:32:00
【问题描述】:

我正在尝试使我的环境与 Cordova 和 Android 模拟器一起工作,但没有成功。我已经安装了Android Studio,可以成功启动Android Emulator了。

我使用以下命令创建了一个 cordova 应用程序:

cordova create myApp

我添加了对 Android 平台的支持:

cordova plataform add android

我有以下输出:

Using cordova-fetch for cordova-android@~6.2.2
Adding android project...
Creating Cordova project for the Android platform:
        Path: platforms\android
        Package: io.cordova.hellocordova
        Name: HelloCordova
        Activity: MainActivity
        Android target: android-25
Subproject Path: CordovaLib
Android project created with cordova-android@6.2.3
Installing "cordova-plugin-whitelist" for android

   This plugin is only applicable for versions of cordova-android greater than 4.0. If you have a previous platform version, you do *not* need this plugin since the whitelist will be built in.

--save flag or autosave detected
Saving android@~6.2.3 into config.xml file ...

然后我尝试运行应用程序:

cordova run android

模拟器启动,一段时间后,我在命令提示符下出现以下错误:

No target specified and no devices found, deploying to emulator
No emulator specified, defaulting to Nexus_5X_API_24
Waiting for emulator to start...
Error: Failed to execute shell command "getprop,dev.bootcomplete"" on device: 
Error: C:\Users\username\AppData\Local\Android\sdk\platform-tools\adb.exe: Command failed with exit code 3221226356

有谁知道如何解决这个错误?

其他一些环境信息:

C:\>node -v
v7.4.0

C:\>cordova -v
7.0.1

C:\>java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

编辑 1

我已经完成了这些步骤:

  1. 已卸载“Android SDK 工具”
  2. 已卸载“Android Studio”
  3. 从“C:\Users\USER\AppData\Local\Android\sdk”和“C:\Program Files\Android\Android Studio”文件中删除了文件(因为有些可能在卸载过程中正在使用)
  4. 已安装 Android Studio
  5. 更新了 Android Studio

当我执行下面的命令时,我有更多关于错误的信息:

cordova run android --verbose

有了这个输出:

命令完成,错误代码为 3221226356: C:\Users\USER\AppData\Local\Android\sdk\platform-tools\adb.exe -s,emulator-5584,shell,cat,/proc/cpuinfo 错误:无法在设备上执行 shell 命令“cat,/proc/cpuinfo”:错误: C:\Users\USER\AppData\Local\Android\sdk\platform-tools\adb.exe:Command 失败,退出代码 3221226356

当我执行下面的命令时,adb 显示模拟器 cpu 信息,之后,进程停止并且窗口要求中断或调试

adb -s emulator-5584 shell cat /proc/cpuinfo

【问题讨论】:

  • 我有一个建议,将 Android SDK 安装在较小的路径中。所以我将默认安装从:C:\Users\USER\AppData\Local\Android\sdk 更改为:C:\Android\sdk Android Studio 安装在:C:\Android\Android Studio Gradle 在:C: \Gradle\gradle-4.0.1\bin 我有同样的错误。
  • 我发现这个答案可以工作:stackoverflow.com/a/56474669/1766526 它只需要降级 3 个 adb 文件,而不是整个 SDK 平台。

标签: android cordova android-emulator adb


【解决方案1】:

将您的 SDK 平台工具降级到 rev25.0.1。

如果你用windows开发,可以在https://dl-ssl.google.com/android/repository/platform-tools_r25.0.1-windows.zip下载

删除或重命名旧的 platform-tools 文件夹,并将下载的文件解压缩到其中。

为我工作!

【讨论】:

  • 不幸的是,它不起作用。在应用您的解决方案之前,您是否遇到过同样的错误?
  • 我也遇到了 adb 版本 29 的问题并降级到 28 (dl.google.com/android/repository/…)。如果我在 cmd.exe 窗口中执行, adb -s myDeviceNumber shell cat /proc/cpuinfo 似乎还可以,但实际上它在正确执行后崩溃,将崩溃文件 AppCrash_adb.exe_xxxxx 留在 C:\ProgramData\Microsoft\Windows\WER \ReportArchive,然后键入,回显退出代码为 %errorlevel%,回显退出代码为 -1073740940,相当于 3221226356(uint 而不是 int)。
【解决方案2】:

我在使用 Nexus5 和 Oreo/Nougat 的模拟器时遇到了同样的问题。

我将我的模拟器更改为 Galaxy Nexus & Lollipop,它运行良好,无需在 Cordova 目录中进行任何修改。

这似乎不是正确的解决方案,但可以使用一些较低的组合来避免此问题。

命令行是:

 $ cordova emulate android

以下是成功日志:

未指定模拟器,默认为 Galaxy_Nexus_API_22
等待模拟器启动...
模拟器:请求的控制台端口 5584:推断 adb 端口 5585。
模拟器:警告:加密已关闭
路径 /home/ximia/.android/avd/Galaxy_Nexus_API_22.avd/system.img.qcow2
等待模拟器启动(这可能需要一段时间)...启动完成

【讨论】:

  • 同样的错误:No emulator specified, defaulting to Galaxy_Nexus_API_22 ... Error: Failed to execute shell command "getprop,dev.bootcomplete"" on device: Error: C:\Android\sdk\platform-tools\adb.exe: Command failed with exit code 3221226356
【解决方案3】:

编辑您的虚拟设备 (ADV) 并进入高级设置并取消选中多核 CPU。

对我来说工作得很好。

【讨论】:

  • 不幸的是,它不起作用。为什么你认为这是问题所在?因为我可以尝试跟踪您的想法的问题。
  • 这对我有用。我喜欢这个解决方案(如果它适合你的话)比降级工具版本更好,因为停留在过时的工具上最终会给你带来问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-18
  • 1970-01-01
  • 2011-11-16
相关资源
最近更新 更多