Search code examples
androidcordovaantcrosswalk-runtime

cordova crosswalk project migration -- error


I am trying to migrate my cordova project to crosswalk.

I am using [following download] (https://download.01.org/crosswalk/releases/crosswalk/android/stable/10.39.235.15/arm/crosswalk-cordova-10.39.235.15-arm.zip) of crosswalk.

My system is having android 4.4 & 4.3 CLI SDK installed. I want to compile my android app for Android 4.3 (API 18).

"cordova -v" command run output :

4.2.0

"cordova platform version android" command run output :

Installed platforms: android 3.6.4
Available platforms: amazon-fireos, blackberry10, browser, firefoxos, windows, windows8, wp8

I am following following link to Migrate cordova project to crosswalk.

VERSION file contains string :

3.6.3

I am getting following error in "ant dbg" stage. Please suggest how to resolve it ?

"ant dbg" command run output :

debug:

-code-gen:
[mergemanifest] Found Deleted Target File
[mergemanifest] Merging AndroidManifest files into one.
[mergemanifest] Manifest merger disabled. Using project manifest only.
     [echo] Handling aidl files...
     [aidl] No AIDL files to compile.
     [echo] ----------
     [echo] Handling RenderScript files...
     [echo] ----------
     [echo] Handling Resources...
     [aapt] Found Deleted Target File
     [aapt] Generating resource IDs...
     [echo] ----------
     [echo] Handling BuildConfig class...
[buildconfig] Generating BuildConfig class.

-pre-compile:

-compile:
    [javac] Compiling 43 source files to D:\HTML_genny\Git\cordova_projects\2_cr
osswalk\2\test\platforms\android\CordovaLib\bin\classes
    [javac] warning: [options] source value 1.5 is obsolete and will be removed
in a future release
    [javac] warning: [options] target value 1.5 is obsolete and will be removed
in a future release
    [javac] warning: [options] To suppress warnings about obsolete options, use
-Xlint:-options.
    [javac] D:\HTML_genny\Git\cordova_projects\2_crosswalk\2\test\platforms\andr
oid\CordovaLib\src\com\squareup\okhttp\internal\http\HttpsURLConnectionImpl.java
:347: error: method does not override or implement a method from a supertype
    [javac]   @Override public void setFixedLengthStreamingMode(long contentLeng
th) {
    [javac]   ^
    [javac] D:\HTML_genny\Git\cordova_projects\2_crosswalk\2\test\platforms\andr
oid\CordovaLib\src\org\apache\cordova\CordovaActivity.java:302: error: cannot fi
nd symbol
    [javac]         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
    [javac]                                                         ^
    [javac]   symbol:   variable KITKAT
    [javac]   location: class VERSION_CODES
    [javac] D:\HTML_genny\Git\cordova_projects\2_crosswalk\2\test\platforms\andr
oid\CordovaLib\src\org\apache\cordova\CordovaActivity.java:309: error: cannot fi
nd symbol
    [javac]                     | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
    [javac]                           ^
    [javac]   symbol:   variable SYSTEM_UI_FLAG_IMMERSIVE_STICKY
    [javac]   location: class View
    [javac] D:\HTML_genny\Git\cordova_projects\2_crosswalk\2\test\platforms\andr
oid\CordovaLib\src\org\apache\cordova\IceCreamCordovaWebViewClient.java:86: erro
r: cannot find symbol
    [javac]         return android.os.Build.VERSION.SDK_INT >= android.os.Build.
VERSION_CODES.KITKAT && "content".equals(uri.getScheme());
    [javac]
             ^
    [javac]   symbol:   variable KITKAT
    [javac]   location: class VERSION_CODES
    [javac] Note: Some input files use or override a deprecated API.
    [javac] Note: Recompile with -Xlint:deprecation for details.
    [javac] 4 errors
    [javac] 3 warnings

BUILD FAILED
C:\Program Files (x86)\Android\android-sdk\tools\ant\build.xml:720: The followin
g error occurred while executing this line:
C:\Program Files (x86)\Android\android-sdk\tools\ant\build.xml:734: Compile fail
ed; see the compiler error output for details.

Total time: 4 seconds

Solution

  • I've only been using crosswalk 9+cordova 3.5, but I think you should try to use cordova android 3.6.3 instead of 3.6.4 :

    cordova platform remove android
    cordova platform add android@3.6.3
    

    And then you can follow again the migration guide and replace the cordova-lib with crosswalk-cordova.

    And make sure to specify --target "android-19" when building xwalk_core_library.