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

dipsam 发布于 2019-10-02 cordova 最后更新 2019-10-02 18:34 222 浏览

我知道有很多类似的问题,但我无法找到解决这些问题的解决方案。此外,我会提供我的具体情况的详细信息。 我在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平台 - 工具25.0.3
  • Android SDK工具25.3.1
  • 从2.1(Eclair)到7.1.1(Nougat)的所有Android版本
经过广泛研究后,我将所有与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错误?
已邀请:

msed

赞同来自:

在linux上(在我的例子中是Ubuntu)只需安装gradle: sudo apt-get install gradle 编辑:对于较新版本,似乎ubuntu repo只有gradle 2.10:https://www.vultr.com/docs/how-to-install-gradle-on-ubuntu-16-10

pculpa

赞同来自:

对于仍然遇到此问题的人来说,这对我有用:

    cordova platform update android@latest
然后构建,它将自动下载最新的gradle版本,应该工作

iest

赞同来自:

无需更新sdk。尝试手动安装它。 按照此链接中的说明操作 https://gradle.org/install

aut_id

赞同来自:

截至今天,这些解决方案都没有对我有用。我的情况是我的Android工作室更新了。用最新版本替换tools文件夹最流行的东西对我来说不起作用。在某些情况下不需要事实。 npm update -g cordova为我做了伎俩。 然后我删除了平台并再次添加。 ionic platform remove android ionic platform add android 这对Ionic来说很有用。我相信cordova platform remove/add android会做同样的事情。虽然没经过测试 再次工作!

bea

赞同来自:

安装cordova 5.0版可以帮助我:

npm install -g cordova@5.0

nut

赞同来自:

在经历了同样的问题之后,只需在config.xml中重命名包名,在内部使用名称不带“ - ”的属性id ... 即 com.web-projet.appname 改名为: com.webprojet.appname 一切都是正确的...... 如果它有帮助。

rvero

赞同来自:

跑:

cordova platform update android@6.1.2
并确保Android Studio和Android Studio环境变量引用相同的位置。 我通过复制Android Studio解决了这个问题:
D:\Program Files\Android
C:\Program Files\Android

non_at

赞同来自:

  1. 如果您的系统中安装了android studio,则从C:\Program Files\Android\Android Studio\plugins\android\lib\templates
  2. 复制templates文件夹
  3. 将其粘贴到文件夹C:\Users\<user-name>\AppData\Local\Android\sdk\tools
  4. 运行命令:ionic build android
将下载所有必需的jar文件,并生成应用程序的apk文件。 注意:将环境变量设置为  C:\Users\<user-name>\AppData\Local\Android\sdk\tools。  同时将user-name设置为您当前的用户名。

ysequi

赞同来自:

刚从典型的Android Studio安装中复制了所有内容。 从: d:\ SW \ dev的\机器人\工作室\插件\机器人\ LIB \模板 (整个模板目录) 至: d:\ SW \ dev的\机器人\ SDK \工具 经过测试 离子构建android

tvelit

赞同来自:

这解决了我:

cordova platform update android@6.1.2

tsint

赞同来自:

编辑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不完全兼容。 编辑: Cordova Android 6.2.1已经发布,现在它与最新的Android SDK兼容。 您可以使用更新当前不兼容的Android平台 cordova platform update android@6.2.1 或者您可以删除现有平台并添加新平台(将删除您在yourProject/platforms/android/文件夹中执行的任何手动更改) cordova platform rm android cordova platform add android@6.2.1 您必须指定版本,因为当前CLI默认安装6.1.x. 老答案: 可悲的是Android SDK工具25.3.1打破了cordova-android 6.1.x. 对于那些不想降级SDK工具的人,你可以从github url安装cordova-android,因为大多数问题已经在master分支上修复了。 cordova platform add https://github.com/apache/cordova-android

oqui

赞同来自:

对于Linux,甚至有更好的解决方案。 导航 https://developer.android.com/studio/index.html#downloads 并下载命令行工具zip文件(页面底部)for linux。将它们解压缩到您的.... / Android / Sdk /文件夹,以便覆盖/扩展您的工具文件夹。现在一切正常。

het

赞同来自:

这解决了我的问题。 我刚刚下载了 https://dl.google.com/android/repository/tools_r25.2.5-macosx.zip214并覆盖~/ Library / Android / sdk / tools中的tools文件夹

lvel

赞同来自:

在以不同的顺序在这里尝试了两次之后,我重新安装了所有内容,在进行cordova platform add android之前,我去了templates/gradle并运行了gradlew.bat。完成后,我能够毫无问题地添加android平台。

hea

赞同来自:

在cordova升级到7.0.x之后,如上所述改变了gradle路径。要在官方修复发布之前使其正常工作,只需手动安装gradle并将其设置在您的环境中。

  1. Go https://gradle.org/install下载二进制包
  2. 解压缩它,记住路径,例如,我的一个在:E:\ Gradle
  3. 设置环境变量,例如在Windows上添加E:\ Gradle \ bin
而已。

dipsam

赞同来自:

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

C:\Users\you_username\AppData\Local\Android\sdk\tools
至:
C:\Program Files\Android\Android Studio\plugins\android\lib\templates\gradle\wrapper
所以你只需要调整你的路径,使它指向正确的文件夹。

xatque

赞同来自:

如果您没有将SDK包装器放入SDK工具中,则会出现此问题。 与前面的回复说的一样,你可以更新到上一个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(仍然没有)。

iqui

赞同来自:

简单易用的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/
cordova构建android再次工作!!!

onam

赞同来自:

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

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

zrerum

赞同来自:

对于Linux,只需创建一个符号链接,如下所示:

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

cet

赞同来自:

我刚遇到同样的问题。 关于如何使用您和我错过的所有SDK工具安装(或升级)Android Studio,或者可能是由新版本的Studio创建的错误,可能是关于如何安装(或升级)Android Studio的说明,该版本不遵循与旧版本。我倾向于后者,因为关于这个主题的许多the SO posts似乎指向带有名为android-sdk的文件夹的ANDROID_PATH,它没有出现在最新版本(2.3.0.8)中。 似乎有a workaround though,我刚刚在我的机器上工作。这是我做的:

  • Android Downloads下载工具_r25.2.3-windows.zip。
  • 桌面上提取的拉链
  • 用提取替换了C:\ Users \ username \ AppData \ Local \ Android \ sdk \ tools 子文件夹工具/
  • 在项目文件夹中: $ cordova平台删除android
    $ cordova平台添加android
您可能还需要强制删除android中的node_modules。 希望这会有所帮助。

xnemo

赞同来自:

(基本上是@ 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

wet

赞同来自:

就在最近,我也遇到了类似的问题,在我这样做之后,它的工作原理如下: 我在/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但是还有另一个错误(gradlew-command-failed-with-exit-code-
  1. 我检查在android studio中存储库是否处于活动状态,并且它没有激活,我尝试激活它,当我再次尝试它(Cordova构建Android)时,它下载了一些其他文件,可能来自存储库?然后当我删除路径时,它仍然有效。 (也感谢Marcin Orlowski的样本,所以我可以更好地了解出口路径。)
我用:
  • Linux Mint Serena
  • node:v6.10.3
  • npm:3.10.10
  • Cordova:7.0.0
  • Android Studio:2.3.1
  • Android SDK平台工具:25.0.5
  • Android SDK工具:26.0.2
希望它可以帮助任何可能像我一样有同样问题的人,也需要这个。 谢谢