我知道有很多类似的问题,但我没有找到一个解决我的问题在任何一个。另外,我会提供我的具体情况。
我在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错误?
编辑3:
Cordova Android 6.2.2已经发布,它完全兼容SDK工具26.0。X和25.3.1。使用这个版本:
Cordova平台更新android@6.2.2
or
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平台更新android@6.2.1
或者你可以删除现有的平台并添加新的平台(将删除你在project /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平台加https://github.com/apache/cordova-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-
我检查是否在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
希望它可以帮助任何可能有和我一样的问题,也需要这个的人。
谢谢