Android 3.5.0中的严重漏洞 - 使用cordova 3.6.3运行构建时出现cli问题

时间:2014-10-02 14:02:15

标签: android cordova phonegap-build cordova-3

由于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平台工具,但这个问题仍然在发生任何想法?

6 个答案:

答案 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