我做了什么:根据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
我看到了类似的问题here和here,但它们属于旧版本。我的解决方案是否正确如果是的话,任何人都可以指向我记录的官方链接。我不确定升级是否会破坏向后兼容性。
答案 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;