我正在尝试使用最新的工具构建一个 Cordova Android 项目。我按照 这里 的说明进行操作:
$ cordova create myApp com.myCompany.myApp myApp
$ cd myApp
$ cordova platform add android@6.2.1 --save
$ cordova requirements android --verbose
但结果是:
Running command: android list targets
Command finished with error code 0: android list,targets
Requirements check results for android:
Java JDK: installed 1.8.0
Android SDK: installed true
Android target: installed android-25,android-23
Gradle: not installed
Could not find an installed version of Gradle either in Android Studio,
or on your system to install the gradle wrapper. Please include gradle
in your path, or install Android Studio
Error: CordovaError: Some of requirements check failed
at /usr/local/nodejs_next/lib/node_modules/cordova/src/cli.js:401:45
at _fulfilled (/usr/local/nodejs_next/lib/node_modules/cordova/node_modules/q/q.js:787:54)
at self.promiseDispatch.done (/usr/local/nodejs_next/lib/node_modules/cordova/node_modules/q/q.js:816:30)
at Promise.promise.promiseDispatch (/usr/local/nodejs_next/lib/node_modules/cordova/node_modules/q/q.js:749:13)
at /usr/local/nodejs_next/lib/node_modules/cordova/node_modules/q/q.js:557:44
at flush (/usr/local/nodejs_next/lib/node_modules/cordova/node_modules/q/q.js:108:17)
at _combinedTickCallback (internal/process/next_tick.js:73:7)
at process._tickCallback (internal/process/next_tick.js:104:9)
它似乎无法找到 Gradle(不确定应该在哪里)。
我已经看到 有关 Cordova 和 Android SDK Tools 25.3 问题的报告,但这似乎有所不同,我有 25.2.3(见下文)。
我有以下内容(这是在 CentOS 6.8 上):
$ cordova --version
6.5.0
$ node --version
v6.10.2
$ npm --version
3.10.10
$ java -version
openjdk version "1.8.0_121"
$ echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0
$ echo $ANDROID_HOME
/usr/local/android-sdk
# I installed the Android SDK from here
# https://developer.android.com/studio/index.html#downloads
# under "Get just the command line tools"
$ /usr/local/android-sdk/tools/bin/sdkmanager --list
Installed packages:
Path | Version | Description | Location
------- | ------- | ------- | -------
build-tools;23.0.3 | 23.0.3 | Android SDK Build-Tools 23.0.3 | build-tools/23.0.3/
build-tools;25.0.2 | 25.0.2 | Android SDK Build-Tools 25.0.2 | build-tools/25.0.2/
extras;android;m2repository | 47.0.0 | Android Support Repository | extras/android/m2repository/
extras;google;m2repository | 46 | Google Repository | extras/google/m2repository/
patcher;v4 | 1 | SDK Patch Applier v4 | patcher/v4/
platform-tools | 25.0.4 | Android SDK Platform-Tools | platform-tools/
platforms;android-23 | 3 | Android SDK Platform 23 | platforms/android-23/
platforms;android-25 | 3 | Android SDK Platform 25 | platforms/android-25/
tools | 25.2.3 | Android SDK Tools 25.2.3 | tools/
更新:
Cordova 或 Android 的文档中似乎都没有提到它,但是如果您在没有 Android Studio 的情况下使用 Android 命令行工具,则必须手动安装 Gradle。一旦你这样做了,并且它在你的 PATH 上,这个错误就会消失。
还有一件事让我感到困惑:在旧版本的 Android SDK 工具中,在 tools/templates/gradle/wrapper/gradlew
中有一个 Gradle 包装脚本。这也可以用来安装 Gradle,但我发现手动安装它更容易。从最新版本开始,这似乎已被删除。
原文由 JW. 发布,翻译遵循 CC BY-SA 4.0 许可协议
带有 apt-get 的 linux 解决方案(例如:Ubuntu、Debian)
我有非常相似的问题。我得到错误:
但没有例外。我在 Ubuntu 上通过
我还发现了允许在 Ubuntu 中安装最新版本的 gradle 的命令。它仅在之前执行第一个命令时才有效(可能某些依赖项不正确)。
如果它不起作用,请尝试:
更多信息:
对于 CentOS
CentOS的安装说明
gradle
在这个链接下更新
现在我通过 sdkman 安装 gradle,它类似于节点的 nvm。
安装 sdkman
安装 gradle