rbe*_*uto 195 cordova android-gradle-plugin ionic-framework
我知道有很多类似的问题,但我找不到任何解决方案.此外,我会提供具体案例的详细信息.
我在Ubuntu 16.04 LTS编写了一个Ionic项目,现在我必须构建它才能发布.所以我运行命令:
cordova build --release android
Run Code Online (Sandbox Code Playgroud)
我显示以下错误:
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
Run Code Online (Sandbox Code Playgroud)
templates/gradle/wrapper目录.经过广泛的研究,我将所有与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
Run Code Online (Sandbox Code Playgroud)
现在,为了测试环境变量,我运行以下命令:
source /etc/environment
echo $PATH
echo $ANDROID_HOME
echo $JAVA_HOME
echo $GRADLE_HOME
Run Code Online (Sandbox Code Playgroud)
并且正确显示所有路径变量.
所以,看起来环境变量就像他们应该根据各种类似的问题和我搜索过的教程.有谁知道我做错了什么?为什么我仍然会收到Gradle Wrapper错误?
jce*_*ile 253
编辑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
Run Code Online (Sandbox Code Playgroud)
编辑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
R J*_*R J 241
我刚刚遇到了同样的问题.
关于如何使用您和我错过的所有SDK工具安装(或升级)Android Studio的说明中可能存在一个遮挡,或者可能是新版本的Studio创建的错误,该版本不遵循与旧版本.我倾向于后者,因为关于这个主题的许多SO帖子似乎指向带有名为android-sdk的文件夹的ANDROID_PATH,它没有出现在最新版本(2.3.0.8)中.
似乎有一个解决方法,我只需要在我的机器上工作.这是我做的:
在项目文件夹中:
$ cordova平台删除android
$ cordova平台添加android
您可能还需要强制删除android中的node_modules.希望这会有所帮助.
bas*_*ode 55
(基本上@ 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
Run Code Online (Sandbox Code Playgroud)
小智 42
C:\Program Files\Android\Android Studio\plugins\android\lib\templatesC:\Users\<user-name>\AppData\Local\Android\sdk\toolsionic build android将下载所有必需的jar文件,并生成应用程序的apk文件.
注意:将环境变量设置为
C:\Users\<user-name>\AppData\Local\Android\sdk\tools.同时将user-name设置为您当前的用户名.
小智 26
对于Linux,甚至有更好的解决方案.
导航到 https://developer.android.com/studio/index.html#downloads
并下载用于linux的命令行工具zip文件(页面底部).将它们解压缩到您的..../Android/Sdk /文件夹,以便覆盖/扩展您的工具文件夹.现在一切正常.
Man*_*ans 21
对于仍然有这个问题的人来说,这对我有用:
cordova platform update android@latest
Run Code Online (Sandbox Code Playgroud)
然后构建,它将自动下载最新的gradle版本,应该可以工作
her*_*rve 14
没有必要降级Android工具.在Windows上,Gradle从:
C:\Users\you_username\AppData\Local\Android\sdk\tools
Run Code Online (Sandbox Code Playgroud)
至:
C:\Program Files\Android\Android Studio\plugins\android\lib\templates\gradle\wrapper
Run Code Online (Sandbox Code Playgroud)
所以你只需要调整你的路径,使它指向正确的文件夹.
如果你有这个错误 ionic run android --device
## codova - android update
npm install -g cordova
cordova platform update android
Run Code Online (Sandbox Code Playgroud)
小智 7
刚从典型的Android Studio安装中复制了所有内容.来自:D:\ sw\dev\android\studio\plugins\android\lib\templates
(整个模板目录)
至:
d:\ SW\dev的\机器人\ SDK \工具
用离子构建android测试
当您没有将gradle包装器放入SDK工具时,就会出现此问题。
就像之前的回答一样,您可以更新到最新cordova-android版本(有效),但是如果您想继续使用cordova-cli@6.4.0和cordova-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
Run Code Online (Sandbox Code Playgroud)
在我的情况下,我正在使用,cordova-plugin-fcm并且它已在旧版本的cordova-android中进行了测试,因此无法使用cordova-android@2.x(尚未使用)。
小智 5
对于Linux,只需创建一个符号链接,如下所示:
ln -s /android/android-studio/plugins/android/lib/templates /android/sdk/tools/templates
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
168678 次 |
| 最近记录: |