科尔多瓦 Android 要求失败:“找不到已安装的 Gradle 版本”

新手上路,请多包涵

我正在尝试使用最新的工具构建一个 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 许可协议

阅读 867
2 个回答

带有 apt-get 的 linux 解决方案(例如:Ubuntu、Debian)

我有非常相似的问题。我得到错误:

 Error: 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 Studi

但没有例外。我在 Ubuntu 上通过

sudo apt-get install gradle

我还发现了允许在 Ubuntu 中安装最新版本的 gradle 的命令。它仅在之前执行第一个命令时才有效(可能某些依赖项不正确)。

 sudo add-apt-repository ppa:cwchien/gradle
sudo apt-get update
sudo apt-get install gradle-ppa

https://wtanaka.com/node/8079

如果它不起作用,请尝试:

 export PATH=$PATH:/opt/gradle/gradle-3.5/bin

更多信息:

https://askubuntu.com/questions/915980/package-is-installed-and-is-not-detected-gradle/915993#915993

对于 CentOS

CentOS的安装说明 gradle 在这个链接下

https://gist.github.com/parzonka/9371885

更新

现在我通过 sdkman 安装 gradle,它类似于节点的 nvm。

安装 sdkman

 curl -s "https://get.sdkman.io" | bash

安装 gradle

 sdk install gradle 4.0.2

原文由 Daniel 发布,翻译遵循 CC BY-SA 3.0 许可协议

Windows 10(安装了 Android Studio)

使用此解决方案,您不必在系统上多次安装 Gradle。

  1. 找到 Gradle 安装文件夹:转到 C:\Users\<username>\.gradle\wrapper\dists 。选择一个版本(在我的情况下 gradle-6.4-all )。进一步导航,直到到达“bin”文件夹。

  2. 将路径添加到 Path 环境变量:开始菜单 > 输入“编辑环境变量”。在下部(系统变量)中查找“路径”变量,然后单击“编辑”。然后将完整路径添加为新值,在我的情况下是 C:\Users\<username>\.gradle\wrapper\dists\gradle-6.4-all\h8pi7famayzdg9sl28jayaip\gradle-6.4\bin 。不要忘记保存您的更改!

  3. 不要忘记重新启动所有终端(例如重新启动 VS Code)。之后,它在我的电脑上运行了!

原文由 Rolandos 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题