使用多设备混合应用程序构建visual studio cordova应用程序时出错

时间:2014-05-15 03:01:32

标签: visual-studio cordova installation multi-device-hybrid-apps

我遇到3个致命错误。我也安装了android SDK 19。任何想法???

An error occurred while listing Android targets

C:\Project\AngularJS_ToDo_Sample_for_Multi-Device_Hybrid_Apps\JavaScript\AngularJSTodo\EXEC 1   1 AngularJSToDo

C:\Users\wil\.cordova\lib\android\cordova\3.4.0\bin\create.bat: Command failed with exit code 8

C:\Project\AngularJS_ToDo_Sample_for_Multi-Device_Hybrid_Apps\JavaScript\AngularJSTodo\EXEC 1   1 AngularJSToDo

The command ""C:\Users\wil\AppData\Roaming\npm\node_modules\vs-mda\vs-cli" prepare --platform Android --configuration Debug --projectDir . --projectName "AngularJSToDo"" exited with code 8.

C:\Users\wil\AppData\Roaming\npm\node_modules\vs-mda-targets\Microsoft.MDA.targets  115 5   AngularJSToDo

我试过@ Freddy的答案,一切看起来都很正确,但它没有用。我明白了:

1>------ Build started: Project: BlankCordovaApp2, Configuration: Debug Android ------
1>C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\TypeScript\Microsoft.TypeScript.targets(90,5): warning : The TypeScript Compiler was given no files for compilation, so it will skip compiling.
1>  Your environment has been set up for using Node.js 0.10.22 (x64) and npm.
1>  ------ Ensuring correct global installation of package from source package directory: C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\ojeaygbd.tal\packages\vs-mda
1>  ------ Name from source package.json: vs-mda
1>  ------ Version from source package.json: 0.1.1
1>  ------ Current globally installed version : 0.1.1
1>  ------ Build settings:
1>  ------    buildCommand: prepare
1>  ------    platform: Android
1>  ------    cordovaPlatform: android
1>  ------    configuration: Debug
1>  ------    cordovaConfiguration: Debug
1>  ------    projectName: BlankCordovaApp2
1>  ------    projectSourceDir: C:\Project\vsPhoneGap\BlankCordovaApp2
1>  ------ Creating app at C:\Project\vsPhoneGap\BlankCordovaApp2\bld\Debug
1>  Creating a new cordova project with name "HelloCordova" and id "io.cordova.hellocordova" at location "C:\Project\vsPhoneGap\BlankCordovaApp2\bld\Debug"
1>  Using stock cordova hello-world application.
1>  cordova library for "www" already exists. No need to download. Continuing.
1>  Copying stock Cordova www assets into "C:\Project\vsPhoneGap\BlankCordovaApp2\bld\Debug\www"
1>  ------ Copying app files to www
1>  ------ Done copying app files to www
1>  ------ Copying res files
1>  ------ Creating directory: res
1>  ------ Done copying res files
1>  ------ Adding platform: android
1>  cordova library for "android" already exists. No need to download. Continuing.
1>  Checking if platform "android" passes minimum requirements...
1>  Creating android project...
1>  Running command: C:\Users\wil\.cordova\lib\android\cordova\3.4.0\bin\create.bat --cli C:\Project\vsPhoneGap\BlankCordovaApp2\bld\Debug\platforms\android io.cordova.BlankCordovaApp2 BlankCordovaApp2
1>  
1>  C:\Users\wil\.cordova\lib\android\cordova\3.4.0\bin\node_modules\q\q.js:126
1>                      throw e;
1>                            ^
1>EXEC : error : An error occurred while listing Android targets
1>      at C:\Users\wil\.cordova\lib\android\cordova\3.4.0\bin\lib\check_reqs.js:87:29
1>      at _rejected (C:\Users\wil\.cordova\lib\android\cordova\3.4.0\bin\node_modules\q\q.js:808:24)
1>      at C:\Users\wil\.cordova\lib\android\cordova\3.4.0\bin\node_modules\q\q.js:834:30
1>      at Promise.when (C:\Users\wil\.cordova\lib\android\cordova\3.4.0\bin\node_modules\q\q.js:1079:31)
1>      at Promise.promise.promiseDispatch (C:\Users\wil\.cordova\lib\android\cordova\3.4.0\bin\node_modules\q\q.js:752:41)
1>      at C:\Users\wil\.cordova\lib\android\cordova\3.4.0\bin\node_modules\q\q.js:574:44
1>      at flush (C:\Users\wil\.cordova\lib\android\cordova\3.4.0\bin\node_modules\q\q.js:108:17)
1>      at process._tickCallback (node.js:415:13)
1>  Command finished with error code 8: C:\Users\wil\.cordova\lib\android\cordova\3.4.0\bin\create.bat --cli,C:\Project\vsPhoneGap\BlankCordovaApp2\bld\Debug\platforms\android,io.cordova.BlankCordovaApp2,BlankCordovaApp2
1>  
1>  C:\Users\wil\AppData\Roaming\npm\node_modules\vs-mda\node_modules\q\q.js:126
1>                      throw e;
1>                            ^
1>EXEC : error : C:\Users\wil\.cordova\lib\android\cordova\3.4.0\bin\create.bat: Command failed with exit code 8
1>      at ChildProcess.whenDone (C:\Users\wil\AppData\Roaming\npm\node_modules\vs-mda\node_modules\cordova\src\superspawn.js:126:23)
1>      at ChildProcess.EventEmitter.emit (events.js:98:17)
1>      at maybeClose (child_process.js:735:16)
1>      at Process.ChildProcess._handle.onexit (child_process.js:802:5)
1>C:\Users\wil\AppData\Roaming\npm\node_modules\vs-mda-targets\Microsoft.MDA.targets(115,5): error MSB3073: The command ""C:\Users\wil\AppData\Roaming\npm\node_modules\vs-mda\vs-cli" prepare --platform Android --configuration Debug --projectDir . --projectName "BlankCordovaApp2"" exited with code 8.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
========== Deploy: 0 succeeded, 0 failed, 0 skipped ==========



00:03.210 - Failed  - Debug Android - BlankCordovaApp2.jsproj

Total build time: 00:00.000

========== : 0 succeeded or up-to-date, 1 failed, 0 skipped, Completed at 5/17/2014 12:01:25 AM ==========

4 个答案:

答案 0 :(得分:14)

我遇到了同样的错误。必须定义三个环境变量:

1)%JAVA_HOME% - C:\ Program Files(x86)\ Java \ jdk1.7.0_55

2)%ADT_HOME% - C:\ Users \ YOUR_NAME_GOES_HERE \ AppData \ Local \ Android \ android-sdk

3)%ANT_HOME% - C:\ apache-ant-1.9.3

注意 - 这些程序的路径在您的PC上可能完全不同 - 您必须确定每个程序的安装路径。

一旦你定义了这些变量,然后将下面的条目复制到你的用户帐户的Path变量中(我在别处读过,最好将这些添加到条目的开头而不是结尾 - 这就是我所做的和它适用于我)。完成所有更改后重新启动PC。

%JAVA_HOME%\bin;%ADT_HOME%\tools;%ADT_HOME%\platform-tools;%ANT_HOME%\bin;

*取自"手动安装第三方软件"官方文件中的部分。

答案 1 :(得分:3)

从Android SDK Manager安装Android SDK Build-tool后,我遇到了同样的问题 问题解决了

  1. 转到Android SDK目录 as ... \ AppData \ Local \ Android \ android-sdk

  2. 打开SDK Manager.exe

  3. 在包列表中 Android SDK Build工具包无法安装 并且sdk经理将自动选择最新的Rev.供您安装

  4. 单击“安装包” 等到它完成

  5. 尝试再次构建项目

  6. 我在目录中获得了apk文件 ......... \ BIN \ Android的\调试 我可以在BlueStacks中运行它

    抱歉,我的英语很糟糕。 - * -

答案 2 :(得分:1)

转到命令提示符并键入:

npm install -g glob

现在尝试运行你的应用,它应该可以工作。

答案 3 :(得分:0)

尝试按顺序执行以下步骤:

  • 确保Android SDK安装在%localappdata%/ Android / android-sdk

  • 确保Android已更新为最新的API(撰写本文时为API 19)

  • 确保Android SDK路径设置正确:

    • 将ADT_HOME添加为环境变量并将其指向android-sdk文件夹

    • 添加到系统路径:"%ADT_HOME%\ tools;%ADT_HOME%\ platform-tools"

  • 重新启动计算机

这应解决问题。

*取自"手动安装第三方软件"官方documentation中的部分。