ionic 2 - 错误无法在Android Studio中找到已安装的Gradle版本

时间:2017-04-18 18:52:44

标签: cordova ionic2 android-gradle cordova-plugins

我创建离子2项目并添加诊断cordova插件,如下所示:

ionic plugin add cordova.plugins.diagnostic

npm install --save @ionic-native/diagnostic

并像这样添加android平台:

ionic platform add android@latest

但是使用ionic build android控制台构建时会出现此错误:

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 Studio

我尝试下载manualy gradle.3.3-all.zip并在platform / android / cordova / lib / builders / GradleBuilder.js中更改此distributionUrl var

 var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'https\\://services.gradle.org/distributions/gradle-3.3-all.zip'

为:

var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'file:///E:/gradles/gradle-3.3-all.zip';

但没有工作和控制台给我上一次错误。

我不知道如何为android @ latest版本添加gradle

25 个答案:

答案 0 :(得分:209)

生命太短暂,无法用于处理路径等等。

由于我有 Homebrew installed on the iMac,我只是运行了这个命令:

brew install gradle

Ionic3项目开始成功构建。

答案 1 :(得分:89)

尝试安装gradle并将其包含在您的路径中。点击下面的链接获取手册。 https://gradle.org/install

答案 2 :(得分:88)

只需在linux上安装gradle,即使安装了Android Studio,也

  

sudo apt install gradle

答案 3 :(得分:26)

对于Windows用户

从答案Gradle Download

中的链接下载gradle二进制文件

将zip文件解压缩到C:\Gradle或其他地方

从开始菜单打开编辑环境变量对话框>搜索

点击'新'在系统变量下并添加如下

变量名称GRADLE_HOME变量值C:\Gradle\gradle-4.0.1

然后从系统变量列表中选择PATH变量

将gradle路径附加到变量值,如C:\Gradle\gradle-4.0.1\bin

然后按下win键+ R键cmd然后输入>在命令终端键入gradle -v

如果设置正确,您将看到gradle安装细节

答案 4 :(得分:14)

cordova版本6.4.0和Android 6.2.1 .so有问题,请尝试使用以下兼容版本

cordova版必须是6.4.0

  

sudo npm install -g cordova@6.4.0

在项目中安装android

  

sudo cordova平台添加android@6.1.2

 or
  

sudo ionic platform添加android@6.1.2

答案 5 :(得分:12)

在Ubuntu中,安装最新版本的gradle为我解决了这个问题。

尝试以下步骤安装最新版本

sudo add-apt-repository ppa:cwchien/gradle

sudo apt-get update

sudo apt-get install gradle

然后构建使用,

cordova build androidionic cordova build android

注意:如果您从ubuntu repo安装gradle,它将安装旧版本1.4并且无法提供帮助,因此如果您没有添加,sudo apt-get install gradle单独使用将无济于事回购ppa:cwchien/gradle早些时候

答案 6 :(得分:4)

在Ubuntu 18.04上,我通过以下方式安装了gradle:

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

准备好了。

答案 7 :(得分:3)

brew install gradle

简而言之,这将节省时间:)离子团队,请解决此问题

答案 8 :(得分:3)

如果您不想明确安装gradle来解决此问题,可以按照下面提到的解决方法解决此问题:

  1. 在platforms \ android \ cordova \ lib文件夹
  2. 下查找check_reqs.js文件
  3. androidStudioPath函数中编辑get_gradle_wrapper变量null check的else部分,如下所示:
  4. 现有代码:

      

    else { //OK, let's try to check for Gradle! return forgivingWhichSync('gradle'); }

    修改后的代码:

      

    else { //OK, let's try to check for Gradle! var sdkDir = process.env['ANDROID_HOME']; return path.join(sdkDir, 'tools', 'templates', 'gradle', 'wrapper', 'gradlew'); }

    注意:每次移除并重新添加Android平台时都需要进行此更改

    更新:上述解决方法可以正常使用,直到Cordova Android版本6.3.0。对于Cordova Android 6.4.0及更高版本,Gradle需要作为独立依赖项安装。有关详细信息,请查看Cordova Android 6.4.0 release notes

答案 9 :(得分:1)

首先卸载ionic和cordova,稍后设置变量envarionment JAVA_HOMEANDROID_HOMEPATH,然后重新安装离子cordova并添加如下平台:

$ sudo npm install -g ionic cordova

$ ionic platform add android

离子将正确设置gradle包。

答案 10 :(得分:1)

对于Windows,您可以尝试以下解决方案

复制您的gradle-->bin路径并将其添加到system environment variable path

在我的情况下,gradle路径为

C:\Users\username\.gradle\wrapper\dists\gradle-3.3-all\55gk2rcmfc6p2dg9u9ohc3hw9\gradle-3.3\bin

此解决方案对我有用。

答案 11 :(得分:1)

对于Windows用户:

Set-ExecutionPolicy RemoteSigned -scope CurrentUser
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
scoop install gradle

答案 12 :(得分:1)

我在Microsoft Windows上:

Android Studio从2.3.3升级到3.0 后,我遇到此错误。我通过在PATH环境变量中更改gradle路径解决了这个问题,对于 Android Studio 3.0 现在是“ gradle-4.1 ”(之前它是“gradle -3.2“for Android Studio 2.3.3

答案 13 :(得分:1)

在Arch Linux / Manjaro中: sudo pacman -S gradle

答案 14 :(得分:1)

我解决了这个问题

从此网站https://gradle.org/install下载gradle.zip。并按照网站上的说明进行操作。

然后打开另一个终端cmd并执行命令:

Cordova build android --prod --release
End

答案 15 :(得分:0)

https://gradle.org/install下载最新的gradle并将gradle路径设置为PATH变量中的bin并导出您正在使用的目录中的路径

示例:export PATH = / home / abc / android-sdk-linux / tools:/ home / abc / android -sdk-linux / platform-tools:/ home / abc / android-sdk-linux / tools:/家用/ ABC / Android的SDK-LINUX /平台的工具:/home/abc/Downloads/gradle-4.4.1/bin

我花了一整天的时间来解决这个问题,最终这个解决方案对我有用,

答案 16 :(得分:0)

这在Linux上与我合作

sdk install gradle 4.9

从此处安装SDK https://sdkman.io/

答案 17 :(得分:0)

只需通过命令行安装Gradle 如果您使用的是Mac,请尝试

brew install gradle

答案 18 :(得分:0)

我将 Android 文件夹路径移到了另一个路径,并发生了此错误。

我在下面解决了这个问题。

我在系统变量中更改为 Gradle 路径。但不是用户变量中的路径。您必须更改系统变量中的路径

Screenshot this

Alternative Screenshot this

答案 19 :(得分:0)

只需安装android studio并选择你的sdk文件夹作为android studio的sdk默认文件夹,然后android studio修复所有损坏区域并下载所需文件。

答案 20 :(得分:0)

我已经安装了Android Studio,只需要在我的MacOSX Mojave上将gradle PATH添加到〜/ .bash_profile中即可。 另外,如果gradle已升级,则可能需要再次更新路径。

示例.bash_profile:

export ANDROID_SDK_ROOT="~/Library/Android/sdk"
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
export JAVA_HOME=$(/usr/libexec/java_home)
export GRADLE_PATH="~/.gradle/wrapper/dists/gradle-4.10.1-all/455itskqi2qtf0v2sja68alqd/gradle-4.10.1/bin"
export ANDROID_STUDIO="/Applications/Android Studio.app/Contents/MacOS"
export PATH="$PATH:$GRADLE_PATH:$ANDROID_STUDIO"

在编辑.bash_profile后,请在下面运行命令以再次读取它。

source ~/.bash_profile

答案 21 :(得分:0)

如果您使用的是Windows,并且项目路径中带有括号,则也会出现此错误。例如。 “ cordova(某物)”。

(至少要固定this issue为止。)

答案 22 :(得分:0)

如果您的 gradle 之前正常工作并且出现这种情况(可能在您升级或重新安装 ionic 或cordova 之后 - 就像我的情况一样),您可能希望保持环境变量不变,并检查是否在那里列出的文件夹实际上存在。

如果没有,与其像上面提到的那样重新安装 gradle 并更改环境变量的值,我不得不重新创建丢失的旧文件夹并将 gradle 文件复制到其中。

gradle 位置的值似乎保存在 Android Studio 中的某个位置,更新系统变量中的 PATH 不会影响 Android Studio 在触发更改后检查同一位置。

答案 23 :(得分:0)

我想在这次谈话中加上我的两分钱。如果您是 Windows 用户,您想利用 Chocolatey

根据 https://community.chocolatey.org/packages/gradle,您需要运行 在您的控制台中(假设您已经安装了 Chocolatey)。

choco install gradle

如果您尚未安装 Chocolatey,请按照 https://chocolatey.org/install

中的说明进行操作

答案 24 :(得分:-3)

@Ghandi:有人能告诉我为什么这个答案被贬低了吗? 是的为什么? 终于 解决了这个问题......

在我看来,gradle或sdk或android studio安装在与标准目录不同的目录中时会出现错误。 我有S:\ android \ Android Studio和S:\ android \ sdk。

Ghandi的解决方案再次在某处安装了gradle,但我真的为此烦恼:一两个" gradle"更多的事情不再伤害我了