Cordova 安装PhoneGap

Cordova 安装PhoneGap,cordova,Cordova,这是我尝试的第二天,所以请对我放松点。 以下是我从今天早上开始所做的: C:\Users\Phillip> npm install -g phonegap C:\Users\Phillip> phonegap create my-app C:\Users\Phillip> cd my-app C:\Users\Phillip\my-app>phonegap run android [phonegap] detecting Android SDK environment..

这是我尝试的第二天,所以请对我放松点。 以下是我从今天早上开始所做的:

C:\Users\Phillip> npm install -g phonegap
C:\Users\Phillip> phonegap create my-app
C:\Users\Phillip> cd my-app
C:\Users\Phillip\my-app>phonegap run android
[phonegap] detecting Android SDK environment...
[phonegap] using the local environment
[phonegap] adding the Android platform...
   [error] An error occured during creation of android sub-project.

C:\Users\Phillip\.cordova\lib\android\cordova\3.3.0\bin\node_modules\q\q.js:126
                    throw e;
                          ^
Error: An error occurred while listing Android targets
    at C:\Users\Phillip\.cordova\lib\android\cordova\3.3.0\bin\lib\check_reqs.js
:87:29
    at _rejected (C:\Users\Phillip\.cordova\lib\android\cordova\3.3.0\bin\node_m
odules\q\q.js:808:24)
    at C:\Users\Phillip\.cordova\lib\android\cordova\3.3.0\bin\node_modules\q\q.
js:834:30
    at Promise.when (C:\Users\Phillip\.cordova\lib\android\cordova\3.3.0\bin\nod
e_modules\q\q.js:1079:31)
    at Promise.promise.promiseDispatch (C:\Users\Phillip\.cordova\lib\android\co
rdova\3.3.0\bin\node_modules\q\q.js:752:41)
    at C:\Users\Phillip\.cordova\lib\android\cordova\3.3.0\bin\node_modules\q\q.
js:574:44
    at flush (C:\Users\Phillip\.cordova\lib\android\cordova\3.3.0\bin\node_modul
es\q\q.js:108:17)
    at process._tickCallback (node.js:415:13)
编辑1:

C:\Users\Phillip\my-app>phonegap platform add android
   [error] 'platform add android' is not a node C:\Users\Phillip\AppData\Roaming
\npm\node_modules\phonegap\bin\phonegap.js command. See 'node C:\Users\Phillip\A
ppData\Roaming\npm\node_modules\phonegap\bin\phonegap.js help'
编辑2:

C:\Users\Phillip\my-app>%userprofile%\.cordova\lib\android\cordova\3.3.0\bin\che
ck_reqs.bat
[Error: An error occurred while listing Android targets]
编辑3:

C:\Users\Phillip\my-app>npm install -g cordova 
编辑4:

C:\Users\Phillip>cordova create hello com.example.hello HelloWorld
Creating a new cordova project with name "HelloWorld" and id "com.example.hello"
 at location "C:\Users\Phillip\hello"
Downloading cordova library for www...
Download complete
C:\Users\Phillip>cd hello
C:\Users\Phillip\hello>cordova platform add ios
Downloading cordova library for ios...
Download complete
Creating ios project...
'C:\Users\Phillip\.cordova\lib\ios\cordova\3.4.0\bin\create' is not recognized a
s an internal or external command,
operable program or batch file.
Error: cmd: Command failed with exit code 1
    at ChildProcess.whenDone (C:\Users\Phillip\AppData\Roaming\npm\node_modules\
cordova\src\superspawn.js:112:23)
    at ChildProcess.EventEmitter.emit (events.js:98:17)
    at maybeClose (child_process.js:743:16)
    at Process.ChildProcess._handle.onexit (child_process.js:810:5)

添加您的平台并首先构建它

npm install -g phonegap
phonegap create my-app
cd my-app
phonegap platform add android
phonegap platform build android
phonegap run android

还可以在管理员模式下使用cmd.exe。因为这个,我浪费了很多时间。

请检查您是否具备表中列出的所有要求

我最近发现了一个神奇的命令,可以帮助显示构建cordova android项目所缺少的内容:

%userprofile%\.cordova\lib\android\cordova\3.3.0\bin\check_reqs.bat

我已使用以下命令完成此操作:-

$ sudo npm install -g phonegap
$ phonegap create my-app


$ export PATH=${PATH}:/Users/taruna/Documents/adt-bundle-mac-x86_64-20131030/sdk/platform-tools:/Users/taruna/Documents/adt-bundle-mac-x86_64-20131030/sdk/toolssource 
上面的路径应该是您的sdk工具路径

$ phonegap run android after
现在,上面的命令将在emulator中运行您的应用程序。这可能需要几分钟,因此请等待并检查结果


此外,在使用CLI进行任何phonegap项目之前,您应该在系统中安装node.js。

检查此博客是否有助于正确安装,并检查是否遵循了所述的所有步骤

当你称之为“运行”时,它实际上会添加、准备、构建然后运行。谢谢,我不知道。但是我认为管理员部分会有帮助。@QuickFix你确定吗?我知道
build
将负责运行
prepare
compile
,但我很确定这就是它的全部功能。您必须先添加平台,然后运行
build
,然后运行
run
,才能在设备上启动应用程序。实际上,对于phonegap cli是这样,但对于cordova则不是这样(但这里的问题是关于phonegap)。这是phonegap文档中描述的过程:我完全遵循了这条线索,但仍然出现错误[error]“平台添加android”不是一个节点请遵循此处的CLI指南:如果该指南的任何部分不清楚,请随时通知我,我们可以添加任何缺少的信息。您是否安装了api 19的sdk平台?(对于3.3,目标sdk设置为19)您是否按照文档中的指定将
npm
node\u模块添加到您的路径中?“注意:上面的-g标志告诉npm全局安装cordova。您可能需要将npm目录添加到路径中,以便调用全局安装的npm模块。在Windows上,npm通常位于C:\Users\username\AppData\Roaming\npm,在Unix上位于/usr/local/share/npm。”转到命令行并键入
android
。下载最新的API级别。使用android工具创建一个AVD(android虚拟设备),这是工具需要有一个“目标”来编译的基础。了解cordova和phonegap之间存在真正的功能差异,因此您不需要同时安装这两种产品,一个或另一个应该可以。我很确定,当您使用CLI添加平台时,check_reqs脚本将自动调用。实际上,在添加平台时会调用它,但在直接启动时不会显示清晰的结果。