Build error after adding Crosswalk plugin to a Cordova Android project

bumpy picture bumpy · Jan 28, 2016 · Viewed 12.7k times · Source

I'm using the latest cordova android (5.1.0). The project is building and running fine without crosswalk, but after I add the crosswalk plugin using

cordova plugin add https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview.git

I get the following build error:

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. 

The project is built using Android Studio.

Has someone come across anything similar?

Thanks

Answer

Chisko picture Chisko · May 6, 2016

If using Ionic (not sure if another platform of framework does the same), the root config.xml template includes the following reference:

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

By removing it and firing a

cordova build android 

(and also following @badboyunited 's answer) causes the plugin to be downloaded with the latest version.