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脚本将自动调用。实际上,在添加平台时会调用它,但在直接启动时不会显示清晰的结果。