Cordova无法看到Android目标

3

大家好。

我在使用cordova时遇到了以下错误:

~$ cordova requirements
Requirements check results for android:
Java JDK: installed 1.8.0
Android SDK: installed true
Android target: not installed 
Android SDK not found. Make sure that it is installed. If it is not at   the default location, set the ANDROID_HOME environment variable.
Gradle: installed 
Error: Some of requirements check failed

但至少有一个 Android 目标存在:
~$ $ANDROID_HOME/tools/bin/avdmanager list target
Available Android targets:
----------
id: 1 or "android-25"
     Name: Android API 25
     Type: Platform
     API level: 25
     Revision: 3

我不理解cordova想要我做什么。

操作系统:Funtoo稳定版
Cordova版本:6.5.0
Android Studio版本:162.3871768


我认为https://dev59.com/KlcQ5IYBdhLWcg3wFP2a#43383039会有所帮助。 - Xiaohui Zhang
我也是这么想的,但是没有 :-(。 - Oleg
2个回答

1

截至2018年,这个解决方案已经不能与最新版本的Cordova一起使用了。

我曾经遇到过同样的问题,花费了一些时间才弄明白。我使用的是Ubuntu 16.04Android Studio 2.3.1和最新的Cordova,也遇到了同样的问题。我在这里记录了解决方案,但是下面是简短的答案:

Android SDK已经改变了avdmanager命令的功能,但是当检测到android目标时,cordova仍然尝试使用第一个命令android。要解决这个问题,请找到以下文件:

path_to_your_app/platforms/android/cordova/lib/check_reqs.js

请在大约第249行附近找到以下内容:

return tryCommand('android list targets --compact', msg)

将其更改为:

return tryCommand('avdmanager list targets --compact', msg)

就是这样!在我的情况下,这已经足以解决问题。


1
check_reqs.js 没有这些行。 - Dmitry Grinko
这行代码在我的check_reqs.js文件中不存在!..这个答案需要更新。 - Really Nice Code
我按照步骤进行,结果发现它不起作用。 - Reamon S.

0

邮件列表回复,提供帮助:

cordova platform add https://github.com/apache/cordova-android#6.2.2

执行完以下操作后:

cordova platform rm android
cordova platform add https://github.com/apache/cordova-android#6.2.2

cordova build 的运行正常。但是 cordova requirementscordova emulate android 显示错误:

Error: android: Command failed with exit code 2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接