我创建了 ionic 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
我尝试手动下载 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
生命太短了,不能把它花在弄乱路径等上。
因为我有 Homebrew installed on the iMac,所以我只运行了这个命令:
brew install gradle
Ionic3 项目开始构建成功。
尝试安装 gradle 并将其包含在您的路径中。单击下面的链接以获取手册。 https://gradle.org/install
只需在linux上安装gradle,即使安装了Android Studio,
sudo apt install gradle
对于 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 安装详细信息
我已经安装了 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
对于 Windows,您可以尝试以下解决方案
复制您的 gradle-->bin
路径并将其添加到 system environment variable path
。
在我的情况下,gradle 路径是
C:\Users\username\.gradle\wrapper\dists\gradle-3.3-all\55gk2rcmfc6p2dg9u9ohc3hw9\gradle-3.3\bin
这个解决方案对我有用。
在 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 并且无济于事,因此如果您没有添加 repo,sudo apt-get install gradle
在大多数情况下不会有帮助ppa:cwchien/gradle
早些时候
cordova 6.4.0 和 android 6.2.1 有问题。所以,请尝试使用以下兼容版本
科尔多瓦版本必须是 6.4.0
sudo npm install -g cordova@6.4.0
在你的项目中安装 android
sudo cordova 平台添加 android@6.1.2
or
sudo 离子平台添加 android@6.1.2
sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
粘贴到第一个命令之前并删除 sudo
。
brew install gradle
简而言之,这将节省时间:) Ionic 团队请解决此问题
在 Ubuntu 18.04 上,我安装了 gradle:
sudo add-apt-repository ppa:cwchien/gradle
sudo apt-get update
sudo apt-get install gradle
和准备好了。
如果您不想显式安装 gradle 来解决此问题,则可以通过以下解决方法来解决此问题:
在platforms\android\cordova\lib 文件夹下查找check_reqs.js 文件在get_gradle_wrapper 函数中编辑androidStudioPath 变量null 检查的else 部分,如下所示:
现有代码:
else { //OK,让我们尝试检查 Gradle! return forgivingWhichSync('gradle'); }
修改后的代码:
else { //OK,让我们尝试检查 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。
对于 Windows 用户:
Set-ExecutionPolicy RemoteSigned -scope CurrentUser
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
scoop install gradle
我在 Microsoft 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”)
只需通过命令行安装 Gradle 如果您使用的是 Mac,请尝试
brew install gradle
我将 Android 文件夹路径移动到另一个路径并出现此错误。
我在下面解决了这个问题。
我在系统变量中更改为 Gradle 路径。但不是用户变量中的路径。您必须更改为系统变量中的路径
我想在这次谈话中加两分钱。如果您是 Windows 用户,您想利用 Chocolatey
根据 https://community.chocolatey.org/packages/gradle,您需要在控制台中运行(假设您已经安装了 Chocolatey)。
choco install gradle
如果您尚未安装 Chocolatey,请按照 https://chocolatey.org/install 中的说明进行操作
我解决了这个问题
从此站点 https://gradle.org/install 下载 gradle.zip
。并按照网站上的说明进行操作。
然后打开另一个终端cmd并执行命令:
Cordova build android --prod --release
End
首先卸载 ionic 和 cordova,然后设置变量环境 JAVA_HOME
、ANDROID_HOME
和 PATH
,然后重新安装 ionic cordova 并添加平台,如下所示:
$ sudo npm install -g ionic cordova
$ ionic platform add android
离子将正确设置 gradle 包。
sudo
之后缺少 npm
关键字。
在 Arch Linux/Manjaro 中:sudo pacman -S gradle
只需安装 android studio 并选择您的 sdk 文件夹作为 android studio 的 sdk 默认文件夹,然后 android studio 修复所有损坏区域并下载所需文件。
从 https://gradle.org/install 下载最新的 gradle 并将 gradle 路径设置为 PATH 变量中的 bin 并在您正在工作的目录中导出路径
示例:导出 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/gradle-4.4.1/bin
我花了一整天的时间解决这个问题,最终这个解决方案对我有用,
如果您的 gradle 之前工作正常并且出现这种情况(可能是在您升级或重新安装 ionic 或 cordova 之后 - 就像我的情况一样),您可能希望保持环境变量不变,并检查那里列出的文件夹是否确实存在。
如果没有,我必须重新创建丢失的旧文件夹并将 gradle 文件复制到其中,而不是像上面提到的那样重新安装 gradle 并更改环境变量的值。
似乎 gradle 位置的值保存在 Android Studio 中的某个位置,并且更新系统变量中的 PATH
不会影响 Android Studio 在触发更改后检查同一位置。
不定期副业成功案例分享
brew update && brew install gradle
-- 否则,如果 brew 需要先更新,则不会安装 gradle。brew install
时,@Kit brew 自动更新