解决方案:不能使用phonegap命令创建,而应该使用cordova命令,需要看官方文档:http://docs.phonegap.com/en/3.4.0/guide_cli_index.md.html#The%20Command-Line%20Interface,详细请看下面
事实证明采用phonegap命令创建出来的工程包名总是为helloworld,而将其导入eclipse之后进行修改,运行起来总是要出错。下面是使用phonegap创建工程的命令:
$phonegap create learn1
$cd lear1
$phonegap run android
官方的文档就是这样子的:
这一系列命令创建了一个helloworld的工程,并在模拟器(或者Android手机上)运行起来,如果想修改名称,按照网上的教程,应该是这么写:
$phonegap create learn1 com.example.learn1 learn1
这里第一个learn1是工程的名称,com.example.learn1是包名,第二个learn1是app名称,可事实上你将这个工程导入eclipse时,还是helloworld,不但工程名称是helloworld,其它的一切都是helloworld,奇了怪了,参数没有任何作用。
还有一种方法是这么写的:
$phonegap create learn1 -i com.example.learn1 -n learn1
虽然提示看起来是正确的,事实上当你高兴地打开eclipse导入工程时你又失望地看到它还是helloworld。所以我们可以看出虽然phonegap已经发布到3.4版本了,但是它依然十分不完善,你看文档就可以看出,一些地方使用phonegap(http://phonegap.com/install/),一些地方又使用cordova(http://docs.phonegap.com/en/3.4.0/guide_cli_index.md.html#The%20Command-Line%20Interface),如下图:
这往往让初学者摸不着头脑。就3.4这个版本来说,安装的地方明明写着使用phonegap命令创建工程,但是你看3.4.0的开发文档,却看不到phonegap的命令,取而代之的是cordova命令,那请问到底应该用哪个呢?
经过一次又一次的实验,证明phonegap命令确实不行,cordova命令是对的,使用如下:
$cordova create learn1 com.example.learn1 learn1
$cd learn1
$cordova platforms add android
$cordova build
$cordova run android
但是你前面如果使用$npm install phonegap安装,就会发现你找不到cordova命令,其实cordova在phonegap安装时已经安装了,你需要将其配置到path环境变量中,位置位于安装的phonegap目录的node_modules/.bin下。