错误:在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 /文件夹,以覆盖/扩展您的工具文件夹。 现在一切正常。
- 如果您的系统中安装了android studio,那么从
C:\Program Files\Android\Android Studio\plugins\android\lib\templates
复制模板文件夹 - 将其粘贴到文件夹
C:\Users\<user-name>\AppData\Local\Android\sdk\tools
- 运行命令:
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-
- 我检查是否在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。 尝试手动安装。 按照此链接中的说明操作
在这里以不同顺序尝试了两次之后,我重新安装了所有东西,在做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并将其设置在您的环境中即可。
- 去https://gradle.org/install下载二进制包;
- 解压缩,记住path,例如,我的:E:\ Gradle
- 设置环境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.0
和cordova-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
(还没有)。