Crosswalk Integration Beta in Ionic CLI (v1.3.2)

Hey, Did you managee to get it working ?

Works perfectly for me, but I have one question:

Why is the crosswalk library rebuilt every time I run ionic run android?
(At least that’s what it looks like to me, it involves gradle, takes a long time and spams my console with things like :org.apache.cordova.engine.crosswalk:dubme-xwalk_core_library

Is there a way to make building faster?

For me its not splitting into 2 apks, but one big combined apk. At some point I was getting 2 apks, but then I upgraded several thins to fix other errors like splash screens and icons etc. So everything else is sorted now but my apk is not getting split into 2. I have tried recreating everything from scratch but no luck.

Yah for me also as @neffets said, its not producing 2 apks, just one big apk and the environment variable no longer applies. earlier it was producing 2.

Hey, did you manage to produce the 2 versions after jbavari’s update?

@jbavari1 has answer this question in other thread

After updating ionic cli to 1.3.3, if I run:

ionic platform add android

It adds the plugin org.apache.cordova.engine.crosswalk:

Running command: /home/steinn/Projects/xaskapp/hooks/after_platform_add/010_install_plugins.js /home/steinn/Projects/xaskapp
Installing "org.apache.cordova.engine.crosswalk" for android

If I just add crosswalk browser, and compiling after it, I got the error “missing AndroidManifest.xml”.
So I need to remove the plugin before I run ionic add browser crosswalk.
Then I add the browser, the plugin installs again and now I can build successfully.

Steps:

ionic platform add android
ionic plugins remove org.apache.cordova.engine.crosswalk
ionic browser add crosswalk
ionic build android

Someone else had the same problem?

i have the same problem… did you fix it?

I have the same error
did you fix itr?

same error here with the plugin cordova imagepicker

@xMarston I’m having that same WRITE_EXTERNAL_STORAGE issue also, here’s my logs.

:processDebugManifest/Users/Comfy-Blitz/Development/Unbill/mobile/platforms/android/AndroidManifest.xml:33:9 Error:
	Element activity#com.facebook.LoginActivity at AndroidManifest.xml:33:9 duplicated with element declared at AndroidManifest.xml:21:9
/Users/Comfy-Blitz/Development/Unbill/mobile/platforms/android/AndroidManifest.xml:37:5 Error:
	Element uses-permission#android.permission.WRITE_EXTERNAL_STORAGE at AndroidManifest.xml:37:5 duplicated with element declared at AndroidManifest.xml:36:5
/Users/Comfy-Blitz/Development/Unbill/mobile/platforms/android/AndroidManifest.xml:0:0 Error:
	Validation failed, exiting
 FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':processDebugManifest'.
> Manifest merger failed with multiple errors, see logs

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 1 mins 20.022 secs

/Users/Comfy-Blitz/Development/Unbill/mobile/platforms/android/cordova/node_modules/q/q.js:126
                    throw e;
                          ^
Error code 1 for command: /Users/Comfy-Blitz/Development/Unbill/mobile/platforms/android/gradlew with args: assembleDebug,-b,/Users/Comfy-Blitz/Development/Unbill/mobile/platforms/android/build.gradle,-Dorg.gradle.daemon=true
Error: /Users/Comfy-Blitz/Development/Unbill/mobile/platforms/android/cordova/build: Command failed with exit code 8
    at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:135:23)
    at ChildProcess.emit (events.js:98:17)
    at maybeClose (child_process.js:756:16)
    at Process.ChildProcess._handle.onexit (child_process.js:823:5)

This actually happens after I add in my plugins, it looks like one plugin is adding this line

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

And another adds this line

<uses-permission android:maxSdkVersion="18" android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
1 Like

Yeah, that’s the issue. Did you add the File/File Transfer plugin and ShareSocial plugin?

Yup. That’s the problem. They both use a android:name that’s the same. So how do we fix this issue? Is it a cordova problem?

I’m also having this problem with the Pushwoosh plugin and Facebook plugin because they both use the same android:name also.

I seems I had build tools missing from env paths. I got it sorted out on another thread. Problem installing Crosswalk
thanks

Well, I found more problems, with the AdMob plugin (https://github.com/floatinghotpot/cordova-plugin-admob) or the LocalNotification when you try to build the app it shows this error:

error: cannot find symbol
                    ((ViewGroup) webView.getRootView()).addView(adViewLayout, params);
                                        ^
  symbol:   method getRootView()
  location: variable webView of type CordovaWebView

I know this may sound like a low-level issue but have been experimenting this after the last update. I’m using Google Play Services with a plugin and now if I want re-log in after logging out, nothing happens and I tracked the problem down to mConnectionResult.startResolutionForResult(mActivity, RC_RESOLVE) not calling onActivityResult. Just wanted an experienced voice to tell me this could be caused by the unreleased version of cordova-android 4.0. This works perfectly without Crosswalk and was working well before the update.
Thanks!

@paneyi - yes, since we’re using an un-released version of cordova android 4.0, this most likely causes the issue. I’ve gone ahead and gotten the latest commits from the cordova-android project and have them being release in 1.3.4 today.

@seanhill - i’ve seen some errors come across the cordova dev logs, basically they are working out the issue you are talking about right now. Stay tuned, and i’ll be trying to patch that up in the next week or so.

After removing the platform and plugin, updating the CLI to 1.3.4, adding crosswalk and, finally, building, it fails detailing “platforms/android/org.crosswalk.engine/colors-xwalk_core_library/AndroidManifest.xml (No such file or directory)”… Anyone else has experienced this issue?

Also, I see that the org.apache.cordova.engine.crosswalk plugin folder has been substituted by org.crosswalk.engine. However, when adding the crosswalk support, the android platform still has an empty org.apache.cordova.engine.crosswalk folder.