离子cordova运行android最后更新后停止工作

时间:2019-06-10 09:53:41

标签: android cordova ionic-framework ionic4 cordova-android

在安装ionic @ 5(本机运行)之后,我无法使用以下命令部署apk:

ionic cordova run android --device --verbose

它崩溃并显示以下错误

Error: Command failed: D:\android-sdk\platform-tools/adb -s 40467d5 shell getprop

    at ChildProcess.exithandler (child_process.js:294:12)
    at ChildProcess.emit (events.js:198:13)
    at maybeClose (internal/child_process.js:982:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
[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.

我已经完成了这项检查
-我尝试使用不同版本的android SDK(9 +,9,8),但结果是相同的。
-我尝试过使用标志--no-native-run,它在同一阶段以类似的方式崩溃(在构建apk之后)。
-如果在cmd上手动启动,则失败的命令可以正常工作,或者至少可以产生良好的结果

我认为这与https://github.com/ionic-team/native-run/issues/42这个问题有关,因为我也有这个问题。

这是我的离子信息

Ionic:

   Ionic CLI                     : 5.0.1
   Ionic Framework               : @ionic/angular 4.4.2
   @angular-devkit/build-angular : 0.13.9
   @angular-devkit/schematics    : 7.3.9
   @angular/cli                  : 7.3.9
   @ionic/angular-toolkit        : 1.5.1

Cordova:

   Cordova CLI       : 8.1.2 (cordova-lib@8.1.1)
   Cordova Platforms : android 8.0.0
   Cordova Plugins   : not available

Utility:

   cordova-res : not installed
   native-run  : 0.2.4

System:

   Android SDK Tools : 26.1.1 (D:\android-sdk)
   NodeJS            : v10.16.0 (C:\Program Files\nodejs\node.exe)
   npm               : 6.9.0
   OS                : Windows 10

2 个答案:

答案 0 :(得分:0)

我通过执行以下步骤部分解决了问题:

  • 安装ionic@5.0.1(全局和内部项目),cordova 9.0.0 -g
  • 将28.0.3版的“ Android SDK Platform-Tools”降级:我注意到在最新的29.0.0版本中,该命令停留了片刻,然后才结束跳过wlan设备部分(在wifi部分停止)。在版本28中,它没有挂起
  • (可选)降级到android studio 3.4.0(我将在以后更新)
  • 使用标志--no-native-run:目前,本机运行不适用于离子工具链(检测真实设备);通过直接从命令行使用btw效果很好

答案 1 :(得分:0)

您所能找到的都是:“此解决方案对我有用,但对他们不起作用”,“在某些情况下有效”,“向上帝祈祷,也许这可以帮助您”,“卸载此程序,更新并删除其他产品”。...但是您将找不到一个直接的答案,也没有明确定义的可遵循的步骤才能使工作正常进行。我不是在批评特定产品,而是新产品编程的“范式”,您需要“非常幸运”才能遇到Product_A_v1,Product_B_v4.5和Product_C_v0.1的组合,该组合“可以很好地工作,但不能以任何其他可能的组合来工作”,哦,以及所有在Windows上的所有内容(如果您使用的是Linux的话)..您至少要有12K可用小时来找出如何使事情正常进行...只是找出如何开始...无论您有20年的工作经验拥有编程经验或所有学位,因为没有正确的方法可以使事情正常运转,只是“祝你好运”……这是新的规范:事情在“某些情况下”可以运转。祝你好运:)