从Cordova 2.5升级到Cordova 3.0,在使用CordovaInterface时遇到问题

时间:2013-12-03 15:15:44

标签: android cordova cordova-3

我正在将我的项目从Cordova 2.5迁移到Cordova 3。遵循

中提到的迁移过程

http://cordova.apache.org/docs/en/3.0.0/guide_cli_index.md.html

但是,遗憾的是收到以下错误

  

准备android项目[错误:找不到扩展的Java文件   CordovaActivity。]

在我们的应用程序中,我们有一个扩展activity并实现CordovaInterface的类。而且这个类位于config.xml中提到的位置。

然而,我面临以下错误。 用CordovaActivity替换CordovaInterface是强制性的吗?我很确定这不是强制性的情况。

2 个答案:

答案 0 :(得分:4)

这是由一个破碎的Cordova构建系统引起的。

如果您只是在源树中添加任何旧类,在您的活动旁边扩展CordovaActivity,则构建将起作用。 您甚至不必使用该类,只需制作一个。

就像他们正在就如何运作进行内部辩论,如果他们没有按照自己的方式进行构建失败,那么一方就会搞砸另一方。

示例:

import org.apache.cordova.CordovaActivity;

/**
 * This class is simply here to make sure Cordova will build. Without it, even
 * though it's not used or otherwise referenced, you will get a build error that
 * looks like "Error: No Java files found which extend CordovaActivity".
 * 
 * This applies as of Cordova 3.5.0. It should be re-tested when upgrading to
 * Cordova 4.x.
 * 
 */
public class FakeCordovaActivityForBuild extends CordovaActivity {

}

幸运的是,开发团队中的某个人会注意到这个小冲突并修复它,我想它应该被列为系统中的一个bug,但我还没有添加它。

答案 1 :(得分:0)

有趣的是,用CordovaActivty替换CordovaInterface(以及适当的更改)解决了这个问题。在发行说明文档中没有提到强制使用CordovaActivity。

但是,需要优化扩展CordovaActivity的Java文件中的代码。