繁体   English   中英

升级到phonegap 3.3.0

[英]Upgrade to phonegap 3.3.0

我正在将我的phonegap项目从phonegap 2.9.0升级到最新的一个,phonegap 3.3.0。 因为它有很多很大的改进。

这是关于一个Android项目,但很快也将成为ios

但是,我几天都在苦苦挣扎,仍然没有工作代码。

我这样做了:

安装了phonegap并创建了一个像手册一样的新项目: http ://phonegap.com/install/

在此之后,我慢慢地将我的旧代码插入到www文件夹中,并以新的3.0方式安装插件。

但无论我做什么......我觉得这很烦人:

初始化Cordova时出错:找不到类

因为我曾经在eclipse中运行它并且使用这个调试控制台(并且没有找到如何从cli工作到底工作......还有更多的调查要做),我试图让它在eclipse中工作。

但在那里,它没有cordova jar,我无法在任何地方找到它。 我曾经将cordova-2.9.0.jar添加到构建路径,但是没有cordova-3.3.0.jar。 我看到了一个答案abouyt创造了你的十二个:但后来被评论为不正确的方式(因为在没有电话档文件中提到这个......我无法想象那是这样的)

在eclipse中,这会导致错误:import org.apache.cordova。*;

就像我说的那样......没有科多瓦罐......你解决这个问题吗?

所以一下子就有几个问题......

  1. 为了获得更好的调试:我如何在eclipse中使用它
  2. 为什么我会收到此错误...找不到类(可能与丢失的jar有关)

没有任何相关问题为我提供了解决方案......

编辑我刚刚添加,更详细的步骤,就像我开始这一步: http ://docs.phonegap.com/en/3.3.0/guide_cli_index.md.html#The%20Command-Line%20Interface

但比我注意到......这个命令:

sudo npm install -g cordova

我以为我做过,但我做过:

sudo npm install -g phonegap

但这没有任何区别。

运行它:`

phonegap运行android -V --device

`得到:

[phonegap] detecting Android SDK environment...
[phonegap] using the local environment
[phonegap] compiling Android...
[phonegap] Generating config.xml from defaults for platform "android"
[phonegap] Compiling app on platform "android" via command "/Path to my app/platforms/android/cordova/build" 
[phonegap] Platform "android" compiled successfully.
[phonegap] successfully compiled Android app
[phonegap] installing app onto device
[phonegap] Generating config.xml from defaults for platform "android"
[phonegap] Running app on platform "android" via command "/Path to my app/platforms/android/cordova/run" --device
[phonegap] Platform "android" ran successfully

但仍然像以前一样给出错误。 在日食中仍然需要添加Cordova jar,这是无处可寻的..

编辑2

我创建了一个新项目,只是为了看看将这个添加到eclipse时发生了什么......它似乎有效。 所以我从ecplise中删除了这个项目...并添加了它(为thsi提供了phonegap文档:新的android项目;从现有代码中添加)。 现在它在文件夹platforms / CordovaLib / bin中创建了一个名为 - cordova-lib.jar的新jar

这似乎适用于eclipse ...在cli run命令中仍然存在相同的错误。 但是现在我可以尝试从eclipse运行它并找到更多...(我会在发现错误时立即发布)

编辑3

在eclipse中运行它会显示错误(奇怪的是,这没有显示在-g模式的phonegap中):

01-05 09:04:16.557: D/CordovaLog(698): file:///android_asset/www/phonegap.js: Line 1544 : Could not find cordova.js script tag. Plugin loading may fail.
01-05 09:04:16.567: I/Web Console(698): Could not find cordova.js script tag. Plugin loading may fail. at file:///android_asset/www/phonegap.js:1544

但是为什么这个js文件不存在....

编辑16-jan-2014

这也成为一个受欢迎的问题。 所以我不是唯一一个与phonegap 3.x斗争的人。这是另一个尚未解决的问题: https ://stackoverflow.com/questions/20953653/config-xml-phonegap-3-3-0-ignores-name-and -描述

EDIT 21-jan-2014重要提示(请参阅很多关于此的问题):蓝图www文件夹中的config.xml与phonegap文档中描述的不同。 它有另一个模式,并且是每个平台的config.xml的蓝图,作为许多其他的东西和文件(androoid清单xml文件,图标等)。 不幸的是,我还没有在phonegap文档中找到这个config.xml文件的正确描述(除了模式之外)(只是平台相关目标config.xml文件的一个很好的描述)。 他们为一个非常不同的文件选择相同的名称是非常令人困惑的...

编辑12-feb-2014这可能会有所帮助...因为我仍然无法在手机页面上找到这个所谓的蓝图config.xml的正确描述: https//github.com/phonegap/phonegap-start/blob/主/ WWW / config.xml中

编辑2014年5月5日

由于phonegap的所有问题,phonegap背后原理的好处已经消失了。 (我仍然相信潜在的手机差距可能是解决方案......但现在还为时过早)。 所以我很抱歉我必须离开phonegap路径。 我让那些仍然在寻找答案的人给出了这个答案......但是不要指望我得到任何答案或“接受正确答案”。

因为它一直在抱怨没有找到这些类,我怀疑这是关于插件类的。 所以我将它们全部删除并重新安排它们,现在它正在工作。

删除所有插件并重新安装

phonegap plugin list

[phonegap] org.apache.cordova.camera
[phonegap] org.apache.cordova.console 
[phonegap] org.apache.cordova.device
[phonegap] org.apache.cordova.device-motion
[phonegap] org.apache.cordova.device-orientation
[phonegap] org.apache.cordova.dialogs 
[phonegap] org.apache.cordova.file 
[phonegap] org.apache.cordova.file-transfer 
[phonegap] org.apache.cordova.geolocation 
[phonegap] org.apache.cordova.inappbrowser    
[phonegap] org.apache.cordova.media 
[phonegap] org.apache.cordova.media-capture
[phonegap] org.apache.cordova.network-information
[phonegap] org.apache.cordova.splashscreen

phonegap plugin help

对于所有安装,我做了这个(我找不到一个*来立即卸载它们)

phonegap plugin remove org.apache.cordova.device

然后我重新安装它们,所以对于所有插件:

phonegap plugin add org.apache.cordova.device

这对我有用了....

编辑

顺便说一句,几天后我发现,如果你在日食中运行东西。 你应该添加2个项目。 一个完整的项目(作为一般项目,而不是android)。 在那里,您可以编辑蓝图WWW文件夹中的代码。 在编辑之后,你运行cli(命令行界面)命令:'cordova build',然后你可以从第二个项目运行它(你将平台/ android文件夹添加为android项目,使用现有代码添加)。

顺便说一下,在解决了这个问题之后...我试着为我的phonegap项目完成一个全新的结账工作是否在一个全新的新文件夹中工作。

因此我使用了一个执行此操作的小bash文件:(在刚刚克隆的文件夹中运行git clone命令后):

  • unistall所有插件...(我复制了列表的输出并添加了phonegap插件删除)
  • 安装所有插件......
  • phonegap运行android

和沮丧再次得到相同的消息....

我找到了一个关于一个手机英雄的博客: http ://devgirl.org/2013/11/12/three-hooks-your-cordovaphonegap-project-needs/

特别要说一句:他创建了一个用于安装插件的钩子......但钩子是:

after_platform_add`

这意味着我的订单错了....结帐后,没有添加任何平台,这是在:

phonegap run android after 

所以在添加平台之前安装插件......似乎不起作用!

在我的bash文件中安装插件之前,我插入了一个构建命令(也添加了平台),现在它可以工作了。

但更好的是:在上面的链接中使用Holly Schinsky建议的钩子......这适用于所有平台,而不仅仅适用于ubuntu(我的bash文件)。

那么这个页面似乎解释了它(我只能通过eclipse得到这个答案,命令行界面(CLI)从来没有给我任何警告。

这个错误:

Could not find cordova.js script tag. Plugin loading may fail

引导我:

https://github.com/phonegap/phonegap-cli/issues/134

现在看来你必须改变phonegap创建的代码!!

<!-- <script type="text/javascript" src="phonegap.js"></script> -->
<script type="text/javascript" src="cordova.js"></script>

但是......这对我没有帮助,仍然是同样的错误。

所以我把它改回来:

<script type="text/javascript" src="phonegap.js"></script>

我留下这个答案,因为对于其他人来说这似乎有用(?)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM