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

ionic plugin add cordova.plugins.diagnostic

npm install --save @ionic-native/diagnostic

并像这样添加android平台:

ionic platform add android@latest

但当构建与ionic构建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

我尝试下载手动gradle.3.3-all.zip,并在platform/android/cordova/lib/builders/GradleBuilder.js中更改这个distributionUrl变量

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

to:

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

但不工作和控制台给我最后一个错误。

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


cordova 6.4.0版本和android 6.2.1版本有问题,请尝试以下兼容版本

Cordova版本必须为6.4.0

Sudo NPM install -g cordova@6.4.0

在你的项目中安装android

Sudo cordova平台加android@6.1.2

 or

Sudo离子平台加android@6.1.2


首先卸载ionic和cordova,然后设置你的变量环境JAVA_HOME, ANDROID_HOME和PATH,然后重新安装ionic cordova并添加如下平台:

$ sudo npm install -g ionic cordova

$ ionic platform add android

离子会正确地安装gradle包装。


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


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

Sudo apt安装gradle


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

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

sudo add-apt-repository ppa:cwchien/gradle

sudo apt-get update

sudo apt-get install gradle

然后使用,

Cordova build android或ionic Cordova build android

注意:如果你从ubuntu repo安装gradle,它会安装旧版本1.4,不会有帮助,所以sudo apt-get安装gradle在大多数情况下不会有帮助,如果你之前没有添加repo ppa:cwchien/gradle


生命太短暂了,不要把它花在搞乱路径等事情上。

因为我在iMac上安装了Homebrew,我只运行了这个命令:

brew install gradle

Ionic3项目开始成功构建。


我解决了这个问题

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

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

Cordova build android --prod --release
End

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


如果你不想明确地安装gradle来解决这个问题,你可以通过下面提到的解决方法来克服这个问题:

在platforms\android\cordova\lib文件夹下查找check_requests .js文件 编辑get_gradle_wrapper函数中androidStudioPath变量null检查的else部分,如下所示:

现有的代码:

其他{ //好的,让我们试着检查Gradle! 返回forgivingWhichSync(“它”); }

修改代码:

其他{ //好的,让我们试着检查Gradle! var sdkDir = process.env['ANDROID_HOME']; 返回路径。join(sdkDir, 'tools', 'templates', 'gradle', 'wrapper', 'gradlew'); }

注意:每次移除和重新添加android平台时都需要做这个更改

更新:上述解决方案将工作良好,直到Cordova Android版本6.3.0。对于Cordova Android 6.4.0及以上版本,Gradle需要作为独立的依赖项安装。请找到Cordova Android 6.4.0发布说明以获得更多信息。


windows用户:

从答案gradle Download中的链接下载gradle二进制文件

将压缩文件解压到“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安装细节


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


我用的是微软Windows:

我在将Android Studio从2.3.3升级到3.0后遇到了这个错误。我通过将path环境变量中的路径更改为gradle来解决这个问题,现在Android Studio 3.0的路径为“gradle-4.1”(以前Android Studio 2.3.3的路径为“gradle-3.2”)


从https://gradle.org/install下载最新的gradle,在你的path变量中设置gradle路径为bin,并在你工作的目录中导出路径

例如export PATH=/home/abc/android-sdk-linux/tools:/home/abc/android-sdk-linux/platform-tools:/home/abc/android-sdk-linux/tools:/home/abc/android-sdk-linux/platform-tools:/home/abc/Downloads/gradl -4.4.1/bin

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


Windows用户:

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

只需通过命令行安装Gradle即可 如果你使用Mac试试

brew install gradle

在Ubuntu 18.04上,我安装了gradle:

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

和准备好了。


我移动Android文件夹路径到另一个路径,并采取这个错误。

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

我在系统变量中被更改为Gradle path。而不是用户变量中的path。在系统变量中必须更改为path

这个截图

替代截图


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

复制gradle——>bin路径并将其添加到系统环境变量路径。

在我的情况下gradle路径是

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

这个解决方案对我很有效。


我已经安装了Android Studio,只需要将gradle PATH添加到~/。bash_profile在我的MacOSX Mojave。 另外,如果gradle升级了,那么path可能需要再次更新。

示例:.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

brew install gradle

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


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

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

gradle位置的值似乎保存在Android Studio的某个地方,在系统变量中更新PATH并不影响Android Studio在某些东西触发更改后检查相同的位置。


我想对这次谈话发表我的意见。如果你是Windows用户,你会想要利用Chocolatey

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

choco install gradle

如果您还没有安装Chocolatey,请按照https://chocolatey.org/install上的说明进行操作