【发布时间】:2017-09-07 11:37:36
【问题描述】:
我正在尝试使用最新的工具构建一个 Cordova Android 项目。我按照说明here:
$ 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(不确定应该在哪里)。
我已经看到 reports Cordova 和 Android SDK 工具 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,但我发现手动安装它更容易。从最新版本开始,这似乎已被删除。
【问题讨论】: