无法运行PhoneGap的create命令

时间:2013-05-13 13:22:57

标签: android cordova

我正在尝试设置一个基本的“hello world”PhoneGap项目。我一直在走http://docs.phonegap.com/en/2.7.0/guide_getting-started_android_index.md.html#Getting%20Started%20with%20Android所发现的步骤。我在Windows 7 Ultimate机器上这样做。

我已经成功设置了Java和Ant。我通过在命令提示符下键入“javac -version”来确认这一点(显示为1.6.0_39)。当我在命令提示符下键入“ant”时,我收到一条消息“Buildfile:build.xml不存在!构建失败”。在这一点上,我相信我已经通过第3步完成了所有工作。但是,当我进入第4步时,我遇到了问题。

在步骤4中,当我在命令提示符下键入“create C:\ Tests \ Android Test MyNamespace.Test.Android”时,我收到一条错误消息:“创建未被识别为内部或外部命令,可操作程序或批处理文件。“可能有什么不对? “创造”从何而来?当我运行命令时,我在/Cordova/phonegap-2.7.0/phonegap-2.7.0/lib/android目录中,我收到以下错误:

Creating new android project...
Copying template files...
Copying js, jar & config.xml files...
Copying cordova command tools...
Updating AndroidManifest.xml and Main Activity...
C:\Program Files\Cordova\phonegap-2.7.0\phonegap-2.7.0\lib\android\bin\create.js
(31, 5) Microsoft JScript runtime error: Path not found

我可以看到create.js文件。但是,出于某种原因,我收到了“未找到路径”错误。我输入了错误的命令提示符参数吗?我一直盯着它,一切看起来都很正确。

谢谢!

6 个答案:

答案 0 :(得分:2)

这里的问题相同...... 奇怪的是,如果我在没有参数的情况下运行命令“Create”,它会创建一个带有示例应用程序的文件夹“example”,而不会出现错误

我在https://groups.google.com/d/msg/phonegap/tnz2DnUE-E0/ADZibhwHGpYJ

中找到了答案

问题在于“create.js”中的这一行:

var ACTIVITY_PATH=PROJECT_PATH+'\\src\\'+PACKAGE_AS_PATH+'\\'+ACTIVITY+'.java';
[...]
exec('%comspec% /c copy "'+ROOT+'"\\bin\\templates\\project\\Activity.java '+     ACTIVITY_PATH +' /Y');

Windows“copy”命令不会创建不存在的目录,因此上面的命令失败,因为“src \ PACKAGE_AS_PATH”不存在。这可以通过以下方法解决:

var ACTIVITY_DIR=PROJECT_PATH + '\\src\\' + PACKAGE_AS_PATH;
var ACTIVITY_PATH=ACTIVITY_DIR+'\\'+ACTIVITY+'.java';
[...]
exec('%comspec% /c mkdir ' + ACTIVITY_DIR);
exec('%comspec% /c copy "' + ROOT + '"\\bin\\templates\\project\\Activity.java ' +  ACTIVITY_PATH + ' /Y');

答案 1 :(得分:2)

检查您的环境路径:

设置环境变量:

Path:
Start -> Control Panel -> System and Security -> System -> Environment variables 

Or

Mycomputer -> Right Click -> properties -> Advance System settings -> Environment variables

1. Java JDK
2. Android SDK
3. ANT

user1的用户变量:    路径:%SystemRoot%\ system32;%SystemRoot%;%SystemRoot%\ System32 \ Wbem;%SYSTEMROOT%\ System32 \ WindowsPowerShell \ v1.0 \; C:\ Users \ user1 \ AppData \ Roaming \ npm \

温度:    %USERPROFILE%\应用程序数据\本地\温度

系统变量:

ANDROID_HOME:C:\ Nithi \ software \ Android_sdk \ adt-bundle-windows-x86_64-20131030 \ adt-bundle-windows-x86_64-20131030 \ sdk \    路径:

ANT_HOME:C:\ ant

JAVA_HOME:C:\ Program Files \ Java \ jdk1.7.0_45 \

JAVA_PATH:C:\ Program Files(x86)\ Java \ jre7 \ bin

路径:c:\ Program Files(x86)\ Intel \ iCLS Client \; c:\ Program Files \ Intel \ iCLS Client \;%SystemRoot%\ system32;%SystemRoot%;%SystemRoot%\ System32 \ Wbem; %SYSTEMROOT%\ System32 \ WindowsPowerShell \ v1.0 \; C:\ Program Files \ Intel \ Intel(R)Management Engine Components \ DAL; C:\ Program Files \ Intel \ Intel(R)Management Engine Components \ IPT; C :\ Program Files(x86)\ Intel \ Intel(R)Management Engine Components \ DAL; C:\ Program Files(x86)\ Intel \ Intel(R)Management Engine Components \ IPT; C:\ Program Files(x86)\ Windows Live \ Shared; C:\ Program Files \ nodejs \;%ANT_HOME%\ bin;%JAVA_HOME%\ bin;%ANDROID_HOME%\ tools;%ANDROID_HOME%\ platform-tools

答案 2 :(得分:1)

是为JAVA和ANT设置的环境变量?此外,您可以共享您正在使用的创建命令吗?包名中不应有空格。

答案 3 :(得分:1)

您应该在Cordova/phonegap-2.7.0/phonegap-2.7.0/lib/android/bin目录中。然后输入: create {path} {project.with.dots} {YourProjectName}

例如,我刚跑了: C:\server\cordova\phonegap-2.7.0\phonegap-2.7.0\lib\android\bin> create ../MyTest my.test.com MyTestProject并在C:\server\cordova\phonegap-2.7.0\phonegap-2.7.0\lib\android\中创建了MyTest文件夹。

另外,如果你回显%PATH%,你应该看到你的ant \ bin,android-sdk \ tools,android-sdk \ platform0tools和%JAVA_HOME%的目录。

答案 4 :(得分:0)

我认为您应该将您的路径放在“”中的项目目录中,否则创建脚本会将“Test”解释为包名称,这显然不是有效的包名称。 所以命令应该是:

create "C:\Tests\Android Test" MyNamespace.Test.Android AndroidTest

答案 5 :(得分:0)

看起来项目名称中不能包含点。

  

C:\ Phonegap \ android \ bin>创建c:\ android \ helloworld3 com.hello.world helloworld

     

Microsoft(R)Windows脚本宿主版本5.8版权所有(C)Microsoft   公司。保留所有权利。

     

C:\ Phonegap \ android \ VERSION创建新的android项目......复制   模板文件...复制js,jar& config.xml文件...复制   cordova命令工具...更新AndroidManifest.xml和Main   活动... c:\ android \ helloworld3 \ src \ com \ hello \ world \ helloworld.java   C:\机器人\ helloworld3的\ src \ COM \你好\世界\ helloworld.java   C:\机器人\ helloworld3 \ AndroidManifest.xml中   C:\机器人\ helloworld3 \ AndroidManifest.xml中   C:\机器人\ helloworld3 \的AndroidManifest.xml

(工作正常)

但是...

  

C:\ Phonegap \ android \ bin>创建c:\ android \ helloworld4 com.hello.world hello.world

     

Microsoft(R)Windows Script Host版本5.8版权所有   (C)Microsoft Corporation。保留所有权利。

     

C:\ Phonegap \ android \ VERSION创建新的android项目......复制   模板文件...复制js,jar& config.xml文件...复制   cordova命令工具...更新AndroidManifest.xml和Main   活动...   C:\机器人\ helloworld4的\ src \ COM \你好\世界\ hello.world.java   C:\ Phonegap \ android \ bin \ create.js(32,5)Microsoft JScript运行时   错误:找不到路径   (失败)

虽然无用的错误消息。