Ionic:从iOS到Android:白名单插件编译错误

时间:2015-05-01 13:24:44

标签: cordova ionic-framework cordova-plugins

我正在开发适用于iOS的app,使用离子。 在尝试通过ionic build android首次测试Android时,它编译得很好。当我在我的Android设备上安装它时,我注意到禁止所有网络访问。在进一步调查中,我读到我需要添加白名单插件

我遵循的步骤:

ionic ionic plugin add https://github.com/apache/cordova-plugin-whitelist.git

(在我的项目根目录下) 然后,我将以下内容添加到config.xml:

<access origin="*"/>
<allow-navigation href="*"/>
<allow-intent href="*"/>

当我做一个离子构建android时,我现在得到一个编译错误:

projects/phonegap/zmNinja/platforms/android/src/org/apache/cordova/whitelist/WhitelistPlugin.java:42: cannot find symbol
symbol  : method parse(android.content.Context)
location: class org.apache.cordova.whitelist.WhitelistPlugin.CustomConfigXmlParser
        new CustomConfigXmlParser().parse(context);

顺便说一句,我也得到了各种警告(之前也发生过,但不影响应用程序编译):

 major version 51 is newer than 50, the highest major version supported by this compiler.
It is recommended that the compiler be upgraded.

有人可以就如何修复解析错误提出建议吗?我是带有离子的Android新手。

的信息:

OS: Mac OS X Yosemite
Node Version: v0.12.1
Cordova CLI: 4.3.0
Ionic CLI Version: 1.3.18
Xcode version: Xcode 6.3.1 Build version 6D1002 
ios-sim version: 3.1.1 
ios-deploy version: Not installed

我还有Android SDK版本21&amp; 22安装。我相信cordova需要21。

1 个答案:

答案 0 :(得分:0)

我解决了这个问题 - 看起来这是Cordova版本的人行横道问题。我将cordova更新为5,更新了离子cli,删除了crosswalk插件,编译以确保它有效,然后再将其添加回来,一切正常。有时“重启”确实有帮助