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

我知道有很多类似的问题,但我找不到解决scheme。 此外,我会提供我的具体情况的细节。

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

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相关的环境variables放在文件/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 

现在,为了testing环境variables,我运行以下命令:

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

所有的pathvariables都能正确显示。

所以,看起来像环境variables就像他们应该根据各种类似的问题和我已经search的教程。 有谁知道我做错了什么? 为什么我仍然得到Gradle Wrapper错误?

我刚刚经历了同样的问题。

这可能是关于如何安装(或升级)Android Studio的指令中的一个障碍,它包含您和我错过的所有SDK工具,或者可能由Studio的新版本创build的错误,这些错误不遵循相同的文件约定旧版本。 我倾向于后者,因为在这个主题上的许多SOpost似乎指向一个名为android-sdk的文件夹(没有出现在最新的(2.3.0.8)版本中的ANDROID_PATH)。

似乎有一个解决方法 ,但我刚刚在我的机器上工作。 以下是我所做的:

  • 从Android下载下载tools_r25.2.3-windows.zip。
  • 在桌面上提取zip
  • 用提取的子文件夹工具replaceC:\ Users \ username \ AppData \ Local \ Android \ sdk \ tools /
  • 在项目文件夹中:

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

您可能还需要强制删除android中的node_modules。 希望这有助于。

编辑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不完全兼容。

编辑:cordovaAndroid 6.2.1已经发布,它现在兼容最新的Android SDK。

您可以使用cordova platform update android@6.2.1更新当前不兼容的android平台

或者您可以删除现有的平台并添加新的平台(将删除您在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

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

对于Linux,甚至有更好的解决scheme。

导航到https://developer.android.com/studio/index.html#downloads

并下载Linux的命令行工具zip文件(页面底部)。 将它们解压到…. / Android / Sdk /文件夹,以覆盖/扩展您的工具文件夹。 现在一切正常。

  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文件。

注意:将环境variables设置为C:\Users\<user-name>\AppData\Local\Android\sdk\tools 。 还要将用户名设置为当前用户名。

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

  cordova platform update android@latest 

然后build立,它会自动下载最新的gradle版本,应该工作

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

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

至:

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

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

如果你有这个错误,当你ionic run android --device

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

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

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

刚刚从典型的Android Studio安装中复制了一切。 From:D:\ sw \ dev \ android \ studio \ plugins \ android \ lib \ templates

(整个模板目录)

至:

d:\ SW \ dev的\机器人\ SDK \工具

testing与离子生成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,但还有一个错误(gradlew-command-failed-with-exit-code-

  1. 我检查是否在android studio中存储库是活动的,它不活跃,我试图激活它,当我再次尝试(cordova生成Android),它下载一些其他文件,也许从存储库? 然后当我删除path,它仍然工作。 (也要感谢Marcin Orlowski的样本,那么我可以更好地理解出口path)。

我用:

  • Linux造币厂Serena
  • 节点: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

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

谢谢

在Linux(在我的情况下Ubuntu)只安装gradle:

sudo apt-get install gradle

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

这为我解决了这个问题:

 cordova platform update android@6.1.2 

无需更新sdk。 尝试手动安装。 按照此链接中的说明操作

https://gradle.org/install

在这里以不同顺序尝试了两次之后,我重新安装了所有东西,在做cordova platform add android之前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中的工具文件夹

跑:

 cordova platform update android@6.1.2 

并确保Android Studio和Android Studio环境variables指向相同的位置。

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

 D:\Program Files\Android 

 C:\Program Files\Android 

简单和简单的MAC解决scheme

我的问题是

 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/ 

cordovabuild立Android再次工作了!

从今天起,没有任何解决scheme适用于我。 我的情况是我更新了我的Android工作室。 用最新的工具replace工具文件夹最stream行的东西不适合我。 事实上在某些情况下不需要。

npm update -g cordova为我做了诡计。

然后,我删除了平台,并再次添加。

ionic platform remove android

ionic platform add android

这在Ionic中适用于我。 我敢肯定, cordova platform remove/add android将做同样的事情。 虽然没有testing过。

再次工作!

在cordova升级到7.0.x之后,gradlepath已经被改变,如上所述。 为了在正式修复出来之前正常工作,只需手动安装Gradle并将其设置在您的环境中即可。

  1. https://gradle.org/install下载二进制包;
  2. 解压缩,记住path,例如,我的:E:\ Gradle
  3. 设置环境variables,就像在Windows上添加E:\ Gradle \ bin

而已。

遇到同样的问题后,只需在config.xml中重命名包名称,使用名称中不带“ – ”的属性标识…

com.web-projet.appname

改名为:

com.webprojet.appname

一切正确…

如果有帮助。

安装cordova version 5.0帮助我:

 npm install -g cordova@5.0 

当您不具有gradle包装到您的SDK工具时会发生此问题。

就像之前的回复说的,你可以更新到最后一个cordova-android版本(它的工作原理),但是如果你想继续使用cordova-cli@6.4.0cordova-android@6.0.0 ,只需从android工作室

 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 (还没有)。