升级到Cordova 3后的编译错误

时间:2013-09-27 05:56:26

标签: java android cordova

我做了什么:根据here升级到Cordova 3。我从cordova 2.2跳到3.0。这一切都是通过命令行发生的,并且不需要手动复制粘贴jar / JS库。我根据需要修改了我的插件结构,并通过命令行集成了每一个。

问题:我在尝试构建时遇到了“多重dex错误”。谷歌搜索告诉我要确保我的lib中没有两个cordova罐子。我删除了旧的。现在有很多编译错误。根源是:

import org.apache.cordova.api.CallbackContext; //org.apache.cordova.api cannot be resolved to a type.
import org.apache.cordova.api.CordovaPlugin;
import org.apache.cordova.api.PluginResult;
import org.apache.cordova.api.PluginResult.Status;

我解压缩了新jar(它是由npm自动生成的 - 3.0通过Node.js工作),结构似乎是:

org.apache.cordova.CordovaPlugin  //compiles fine

我看到了类似的问题herehere,但它们属于旧版本。我的解决方案是否正确如果是的话,任何人都可以指向我记录的官方链接。我不确定升级是否会破坏向后兼容性。

1 个答案:

答案 0 :(得分:2)

你在config.xml中替换:

<plugin name="<service_name>" value="<full_name_including_namespace>"/>

而不是:

<feature name="<service_name>">
     <param name="android-package" value="<full_name_including_namespace>" />
</feature>

在java.class中:

import org.apache.cordova.CallbackContext;
import org.apache.cordova.CordovaPlugin;
import org.apache.cordova.PluginResult;