将 Crosswalk 插件添加到 Cordova Android 项目后生成错误

Build error after adding Crosswalk plugin to a Cordova Android project

我正在使用最新的 cordova android (5.1.0)。该项目正在建设中,运行 没有人行横道也很好,但是在我使用

添加人行横道插件之后
cordova plugin add https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview.git

我收到以下构建错误:

Error:15:53:54.127 [ERROR] [system.err] /Users/or/Projects/Test/cordova/platforms/android/src/org/crosswalk/engine/    XWalkWebViewEngine.  java:48: error: cannot find symbol
  15:53:54.127 [ERROR] [system.err] import org.xwalk.core.XWalkGetBitmapCallback;
  15:53:54.128 [ERROR] [system.err]                      ^
  15:53:54.128 [ERROR] [system.err]   symbol:   class XWalkGetBitmapCallback
  15:53:54.128 [ERROR] [system.err]   location: package org.xwalk.core
  15:53:54.178 [ERROR] [system.err] /Users/or/Projects/Test/cordova/platforms/android/src/org/crosswalk/engine/XWalkWebViewEngine.      java:103: error: cannot find symbol
  15:53:54.179 [ERROR] [system.err]                                     new XWalkGetBitmapCallback() {
  15:53:54.179 [ERROR] [system.err]                                         ^
  15:53:54.180 [ERROR] [system.err]   symbol: class XWalkGetBitmapCallback
  15:53:54.181 [ERROR] [system.err] /Users/or/Projects/Test/cordova/platforms/android/src/org/crosswalk/engine/XWalkWebViewEngine.      java:207: error: cannot find symbol
  15:53:54.182 [ERROR] [system.err]             webView.getExtensionManager().loadExtension(XWALK_EXTENSIONS_FOLDER + File.separator     +   path);
  15:53:54.182 [ERROR] [system.err]                    ^
  15:53:54.182 [ERROR] [system.err]   symbol:   method getExtensionManager()
  15:53:54.182 [ERROR] [system.err]   location: variable webView of type XWalkCordovaView
  15:53:54.184 [ERROR] [system.err] /Users/or/Projects/Test/cordova/platforms/android/src/org/crosswalk/engine/XWalkCordovaView.    java:93:   error: method does not override or implement a method from a supertype
  15:53:54.185 [ERROR] [system.err]     @Override
  15:53:54.185 [ERROR] [system.err]     ^
  15:53:54.188 [ERROR] [system.err] Note: Some input files use or override a deprecated API.
  15:53:54.188 [ERROR] [system.err] Note: Recompile with -Xlint:deprecation for details.
  15:53:54.188 [ERROR] [system.err] 4 errors
  15:53:54.190 [ERROR] [org.gradle.BuildExceptionReporter] 
  15:53:54.190 [ERROR] [org.gradle.BuildExceptionReporter] FAILURE: Build failed with an exception.
  15:53:54.191 [ERROR] [org.gradle.BuildExceptionReporter] 
  15:53:54.191 [ERROR] [org.gradle.BuildExceptionReporter] * What went wrong:
  15:53:54.191 [ERROR] [org.gradle.BuildExceptionReporter] Execution failed for task ':compileX86DebugJavaWithJavac'.
  15:53:54.191 [ERROR] [org.gradle.BuildExceptionReporter] > Compilation failed; see the compiler error output for details.
  15:53:54.191 [ERROR] [org.gradle.BuildExceptionReporter] 
  15:53:54.191 [ERROR] [org.gradle.BuildExceptionReporter] * Try:
  15:53:54.192 [ERROR] [org.gradle.BuildExceptionReporter] Run with --stacktrace option to get the stack trace. 

该项目是使用 Android Studio 构建的。

有人遇到过类似的事情吗?

谢谢

试试这个对我有用。

您必须在添加 android 平台之前添加插件。

cordova -version ==> 5.1.1
  1. 导航到项目目录

    cd cordova/

  2. 移除android平台

    cordova platform rm android

  3. 检查人行横道插件是否安装

    cordova plugin ls

  4. 用npm添加人行横道插件

    cordova plugin add cordova-plugin-crosswalk-webview

  5. 添加android平台

    cordova platform add android

  6. 构建 android 项目

    cordova build android

  7. 运行 android 项目

    cordova run android

如果使用 Ionic(不确定其他框架平台是否也这样做),根 config.xml 模板包括以下参考:

<preference name="xwalkVersion" value="17+" />

删除它并触发

cordova build android 

(并遵循@badboyunited 的回答)导致下载最新版本的插件。

我在安装 Crosswalk 后遇到问题,我在这里找到了适合我的解决方案:https://crosswalk-project.org/jira/si/jira.issueviews:issue-html/XWALK-5965/XWALK-5965.html

tl;dr:从 extras 存储库(来自 Android SDK 管理器)安装 "Android support libraries"

将 xwalkVersion 首选项更改为 18+

https://crosswalk-project.org/jira/browse/XWALK-7043