错误:在Android SDK中找不到gradle包装器。可能需要更新你的Android SDK - Android

我知道有很多类似的问题,但我没有找到一个解决我的问题在任何一个。另外,我会提供我的具体情况。

我在Ubuntu 16.04 LTS中编写了一个Ionic项目,现在我必须为发布构建它。所以我运行命令:

cordova build --release android

然后我看到下面的错误:

Error: Could not find gradle wrapper within Android SDK. Might need to update your Android SDK.
Looked here: /home/user/Android/Sdk/tools/templates/gradle/wrapper
  • 我没有这个templates/gradle/wrapper目录。
  • 我的Android Studio是2.3,是目前的最新版本
  • Android SDK平台- tools 25.0.3
  • Android SDK Tools 25.3.1
  • 所有Android版本从2.1 (Eclair)到7.1.1 (Nougat)

经过广泛的研究,我把所有与Android studio相关的环境变量放在/etc/environment文件中。现在它看起来是这样的:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/game:/home/<user>/Android/Sdk:/home/<user>/Android/Sdk/tools:/home/<user>/Android/Sdk/platform-tools"


ANDROID_HOME=/home/<user>/Android/Sdk
export ANDROID_HOME


JAVA_HOME=/usr/lib/jvm/java-8-oracle
export JAVA_HOME


GRADLE_HOME=/opt/android-studio/gradle/gradle-3.2
export GRADLE_HOME

现在,为了测试环境变量,我运行以下命令:

source /etc/environment
echo $PATH
echo $ANDROID_HOME
echo $JAVA_HOME
echo $GRADLE_HOME

所有的路径变量都正确显示。

所以,它看起来像环境变量就像他们应该根据各种类似的问题和在教程中我已经搜索。有人知道我哪里做错了吗?为什么我仍然得到Gradle Wrapper错误?

198375 次浏览

我刚刚也遇到了同样的问题。

这可能是关于如何安装(或升级)Android Studio和所有SDK工具的说明中的一个阻塞,你和我都错过了,或者可能是一个由新版本的Studio创建的错误,它不遵循与旧版本相同的文件约定。我倾向于后者,因为这个主题的许多SO帖子似乎指向一个ANDROID_PATH,其中包含一个名为android-sdk的文件夹,该文件夹在最新(2.3.0.8)版本中没有出现。

似乎有不过有一个变通办法,我刚刚在我的机器上工作。以下是我所做的:

  • 安卓系统下载下载tools_r25.2.3-windows.zip。

  • 在桌面上提取zip文件

  • 将C:\Users\username\AppData\Local\Android\sdk\tools替换为extracted 子文件夹工具/ < / p >

  • 项目文件夹:

    $ cordova平台删除android
    $ cordova平台添加android

你可能还需要强制删除android中的node_modules。

对于Linux,甚至还有更好的解决方案。

< p >导航 https://developer.android.com/studio/index.html#downloads < / p >

下载linux的命令行工具zip文件(页面底部)。将它们提取到您的..../Android/Sdk/文件夹,所以你重写/扩展你的工具文件夹。现在一切正常。

(基本上@user3464070已经说过了)

Mac:

cd ~/Library/Android/sdk
# download latest tools
curl -O https://dl.google.com/android/repository/tools_r25.2.3-macosx.zip
# overwrite existing tools folder without prompting
unzip -o tools_r25.2.3-macosx.zip
# clean up
rm tools_r25.2.3-macosx.zip

编辑3:

Cordova Android 6.2.2已经发布,它完全兼容SDK工具26.0。X和25.3.1。使用这个版本:

cordova platform update android@6.2.2

cordova platform rm android
cordova platform add android@6.2.2

编辑2:

还有另一个Android SDK工具版本(26.0.x)与cordova-android 6.2.1不完全兼容。

< p >编辑: Cordova Android 6.2.1已经发布,现在它与最新的Android SDK兼容

你可以更新你当前不兼容的android平台 cordova platform update android@6.2.1 < / p >

或者你可以删除现有的平台并添加新的平台(将删除你在yourProject/platforms/android/文件夹中所做的任何手动更改)

cordova平台rm android Cordova平台添加android@6.2.1

您必须指定版本,因为当前的CLI安装6.1。默认为X。

旧的回答:

不幸的是,Android SDK工具25.3.1破坏了cordova-android 6.1.x

对于那些不想降级SDK工具的人,你可以从github url安装cordova-android,因为大多数问题已经在主分支上得到了解决。

cordova platform add https://github.com/apache/cordova-android

没有必要降级Android Tools。 在Windows上,Gradle从:

移动
C:\Users\you_username\AppData\Local\Android\sdk\tools

:

C:\Program Files\Android\Android Studio\plugins\android\lib\templates\gradle\wrapper

所以你只需要调整你的路径,使它指向正确的文件夹。

这为我解决了问题:

cordova platform update android@6.1.2

运行:

cordova platform update android@6.1.2

并确保Android Studio和Android Studio环境变量引用相同的位置。

我通过复制Android Studio来解决这个问题:

D:\Program Files\Android

C:\Program Files\Android

对于Linux,只需要创建一个符号链接,就像这样:

ln -s /android/android-studio/plugins/android/lib/templates /android/sdk/tools/templates

简单易行的MAC解决方案

我的问题是

cordova build android
ANDROID_HOME=/Users/jerilkuruvila/Library/Android/sdk
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home
Error: Could not find gradle wrapper within Android SDK. Might need to update your Android SDK.
Looked here: /Users/jerilkuruvila/Library/Android/sdk/tools/templates/gradle/wrapper

解决方案

jerilkuruvila@Jerils-ENIAC tools $ cd templates
-bash: cd: mkdir: No such file or directory
jerilkuruvila@Jerils-ENIAC tools $ mkdir templates
jerilkuruvila@Jerils-ENIAC tools $ cp -rf gradle templates/
jerilkuruvila@Jerils-ENIAC tools $ chmod a+x templates/

科尔多瓦建立的机器人现在又工作了!!

  1. 如果您的系统中安装了android studio,则从C:\Program Files\Android\Android Studio\plugins\android\lib\templates复制模板文件夹
  2. 将其粘贴到文件夹C:\Users\<user-name>\AppData\Local\Android\sdk\tools
  3. 执行命令:ionic build android

所有必要的jar文件将被下载,并为应用程序生成apk文件。

注意:设置环境变量为 C:\Users\<user-name>\AppData\Local\Android\sdk\tools。 同时将user-name设置为您当前的用户名。< / p >

无需更新sdk。尝试手动安装。 请遵循此链接中的说明

https://gradle.org/install

只是从典型的Android Studio安装中复制了所有内容。 来自: D: \ \开发\西南android \ studio android \ lib \ plugins \ \模板< / p >

(整个模板目录)

:

D: \ \开发\西南android sdk \ \工具

< p >测试 Ionic build android

就在最近,我也遇到了类似的问题,在我这样做之后,它起作用了:

我在/etc/profile中编辑了文件

sudo nano /etc/profile


export JAVA_HOME=/home/abdul/java/jdk1.8.0_131
export PATH=$PATH:$JAVA_HOME/bin


export ANDROID_HOME=/home/abdul/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools


export GRADLE_ANDROID_HOME=/home/abdul/android-studio/gradle
export PATH=$PATH:$GRADLE_ANDROID_HOME/gradle-3.2/bin
export PATH=$PATH:$GRADLE_ANDROID_HOME/m2repository

其他信息(以防万一):

不太确定m2repository部分,在第一次尝试它传递grandle时,但有另一个错误(gradlewis -command-failed-with-exit-code-

  1. 我检查是否在android工作室的存储库是活跃的,它不是活跃的,我尝试激活它,当我再次尝试它(Cordova构建android),它下载了一些其他文件,也许从存储库?然后当我删除路径时,它仍然有效。 (也感谢Marcin Orlowski样本,这样我就可以更好地了解导出路径)

我使用:

  • Linux Mint Serena
  • 节点:v6.10.3
  • NPM: 3.10.10
  • 科尔多瓦:7.0.0
  • Android Studio: 2.3.1
  • Android SDK平台工具:25.0.5
  • Android SDK工具:26.0.2

希望它可以帮助任何可能有和我一样的问题,也需要这个的人。

谢谢

到今天为止,没有一个解决方案对我有效。我的情况是我更新了自己的Android工作室。用最新的工具文件夹替换工具文件夹这个最流行的方法对我来说行不通。在某些情况下不需要Infact。

npm update -g cordova为我做了魔术。

然后我删除了平台,并重新添加。

ionic platform remove android

ionic platform add android

这在爱奥尼亚行得通。我确信__abc0会做同样的事情。不过还没有经过测试。

又开始工作了!

cordova升级到7.0后。X, gradle路径已经改变,如上所述。要让它在正式修复之前工作,只需手动安装gradle并将其设置在您的环境中。

  1. https://gradle.org/install下载二进制包
  2. 打开它,记住路径。,我的一个在:E:\Gradle
  3. 设置环境变量,比如在Windows中添加E:\Gradle\bin

就是这样。

在遇到同样的问题后,只需重命名config.xml中的包名,属性id中没有“-”的名称…

即。

com.web-projet.appname

重命名为:

com.webprojet.appname

一切都是正确的……

如果有帮助的话。

如果在ionic run android --device时出现此错误

## codova - android update
npm install -g cordova
cordova platform update android

安装cordova 5.0帮助我:

npm install -g cordova@5.0

在以不同的顺序尝试了两次之后,我重新安装了所有东西,在执行cordova platform add android之前,我去了templates/gradle并运行gradlew.bat。完成后,我可以添加android平台没有任何问题。

这解决了我的问题。

我刚下载 https://dl.google.com/android/repository/tools_r25.2.5-macosx.zip214并覆盖~/Library/Android/sdk/tools

的tools文件夹

对于那些仍然有这个问题的人来说,这对我来说很有效:

    cordova platform update android@latest

然后构建,它会自动下载最新的gradle版本,应该可以工作

在linux(我是Ubuntu)上只需要安装gradle:

< p > <代码> 安装gradle < /代码> < / p >

编辑:似乎ubuntu repo只有gradle 2.10,对于更新的版本:https://www.vultr.com/docs/how-to-install-gradle-on-ubuntu-16-10

当你的SDK工具中没有gradle包装器时,就会出现这个问题。

就像前面的回答说,你可以更新到最后的cordova-android版本(它工作),但如果你想继续使用cordova-cli@6.4.0cordova-android@6.0.0,只需从android studio ex.;

cd /Applications/Android\ Studio.app/Contents/plugins/android/lib/
cp -r templates/ $ANDROID_HOME/tools/templates
chmod +x $ANDROID_HOME/tools/templates/gradle/wrapper/gradlew

在我的情况下,我正在使用cordova-plugin-fcm,它是用旧版本的cordova-android测试的,所以我不能使用cordova-android@2.x(还没有)。

我使用的是Ubuntu 16.04,对我来说,它只需要使用两个命令:-

ionic cordova platform rm android
ionic cordova platform add android@6.3.0