Notes for a front-end developer, esyou.net

0%

MAC上打包CORDOVA混合APP出现PLATFORM ERROR

今天在mac上开发的app,要打包成apk文件,打包过程中就出现了问题,错误显示如下:
Error: Could not find gradle wrapper within Android SDK. Might need to update your Android SDK.
Looked here: /Users/tony/Library/Android/sdk/tools/templates/gradle/wrapper
看到这个错误大概的意思是让我升级我的android SDK,但是我看了下我的已经是目前最新版本的androidSDK了,为什么还要我再进行升级?越想越不对劲,最终删除了androidSDK,然后又再次到官网下载安装,但是问题依然存在,始终无法解决问题,最终在google上找到了解决办法,google确实很强大,要什么都能搜索到,因此,希望大家作为一个程序员,最基本的搜索引擎工具使用google,不会翻墙的童鞋,请自行到网上查看各种翻墙工具以及各种翻墙环境的搭建以及hosts文件的修改,可以助你一臂之力。

最终找到原因所在,主要原因是因为目前的androidSDK版本过高,cordova不支持这么高的版本,因此解决的办法并不是将androidSDK进行降级。而是需要在添加platform的时候制定相应的android版本。
我当前使用的androidSDK是官方最新的版本26.0.0,然而在cordova的platform中,目前最高仅支持到android6.2.2,因此下面有两种解决办法,看你方便如何选择哪一个进行解决
1、添加platform的时候指定相应版本

1
cordova platform rm android //删除已有的platform
2
cordova platform add android@6.2.2 //添加6.2.2版本的android

现在你再进行一次build,应该不会再有任何问题了吧!当然我也比较推荐这种方法!
2、androidSDK降级
删除原有的最新androidSDK工具,然后再下载25.3.1版本及以下版本进行搭建环境

当然可能25.3.1并不兼容某些版本的android系统,不过大部分官方应该已经进行了修复,你可以直接使用以下命令进行安装兼容性最好的android版本

1
cordova platform add https://github.com/apache/cordova-android

当然以上错误如果你在windows中也遇到过,那么应该也可以尝试这样的解决办法!