由于cordova版本3.5.0及更低版本存在严重漏洞。
当我将cordova更新为3.6.3
时npm uninstall cordova -g
npm install cordova - g
cordova -v
3.6.3-0.2.13
我也在使用phonegap版本3.5.0-0.21.18。
构建在cli上失败,说我的Android SDK缺少平台工具的build.template。这就是我所做的事情;
cordova platform rm android
cordova platform add android
phonegap build android
[phonegap] detecting Android SDK environment...
[phonegap] using the local environment
[phonegap] compiling Android...
C:\myapp\platforms\android\cordova\node_modules\q\q.js:126
throw e;
^
Error: ENOENT, no such file or directory 'C:\Android SDK\sdk\platform-tools\tools \lib\build.template'
我已经厌倦了更新SDK平台工具,但这个问题仍然在发生任何想法?
答案 0 :(得分:6)
在我的Windows操作系统案例中,我已将分号添加到ANDROID_HOME环境变量的值中,并以某种方式起作用。(使用cordova 3.6.3-0.2.13)
答案 1 :(得分:1)
我遇到了同样的问题但是在Linux中,而不是Windows。
特别检查您的环境变量: ANDROID_HOME
并删除尾部空格
答案 2 :(得分:1)
我通过添加" ANDROID_HOME
变量值的开始和结束(在我的情况下: D:\ Android Studio Windows \ sdk \ tools ,变为" D:\ Android Studio Windows \ sdk \ tools" )并且它有效。出于某种原因,使用空白,它有一些麻烦。
希望它有所帮助。
答案 3 :(得分:0)
我想通过以下方式解决了这个问题;
cordova platform rm android
phonegap build android
当我从我的应用程序中移除平台然后告诉phonegap构建时,它似乎从phonegap服务器而不是cordova下载最新的cordova。因此它安装了cordova 3.5.1而不是cordova 3.6.3,它通过了漏洞问题并解决了phonegap命令行没有建立的问题。
我希望能帮助其他可能遇到过这个问题的人,看起来很奇怪,在phonegap的网站上没有关于此的信息。
答案 4 :(得分:0)
我已将c:\ adt-bundle-windows-x86_64-20140702 \中的ANDROID_HOME更改为c:\ adt-bundle-windows-x86_64-20140702 \ sdk并且有效。我还重新打开一个新的CMD,以确保我使用新的更新变量。
答案 5 :(得分:0)
在我的情况下,我在cordova上安装了多个版本(3.6和4.0) 所以我现在从cordova的完整路径运行plafotm add和build命令
/usr/local/bin/cordova platform add android
/usr/local/bin/cordova build android