-
Notifications
You must be signed in to change notification settings - Fork 716
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Crash with Crosswalk on x86 64bit #336
Comments
The workaround is to include |
And thanks for the feedback! |
@brodybits thank you, I already tried |
Can you paste the crash log? Also, IIRC there are two ways to use Crosswalk: either use Crosswalk to create your Cordova project or add Crosswalk as a plugin. It helped some people earlier this year to add Crosswalk as a plugin. |
I found that 0.7.10 always crashes when used with Crosswalk (I'm using Crosswalk as a plugin). With 0.7.7, it works fine, but only if you use |
Try removing sqlite-native-driver.jar from your libs directory, it has caused problems for others. Then you have to use |
Thanks @brodybits. That did the trick. BTW, @enricodeleo, I tried this on Samsung Galaxy S6 Edge (via Testdroid), and it worked fine for me. |
@hanthomas I tried on a physical device. With the former configuration (latest version of crosswalk as plugin and cordova-sqlite-storage to 0.7.10) I got an error in /lib. Extracting the apk with unzip I find a unique file per architecture that is |
sqlite-native-driver.jar comes with the unique file per architecture in /lib, since it worked for me when I tested on my own device. It has caused problems and I will get rid of that JAR very soon. Please remove it from your libs if you are using Crosswalk. |
@enricodeleo Here's what I did:
This removed any reference or copy of the JAR that's been causing problems. Then, I built the app, which then worked properly on all my Android devices (at least the ones I possess and those that I have access to in Testdroid). |
I just updated the project to distribute the native Android library files individually. You may not have to include |
@brodybits Great! Thank you! |
@brodybits Cool deal! |
@brodybits the problem still exists if you build only one apk for all devices (ext.cdvBuildMultipleApks = null;). Is there any solution to make this work with only one build.apk? |
@EpoX44 can you do me a favor and run the |
./platforms/android/libs/ This is in the libs folder. |
Hmm, it does not show me the native libraries from Crosswalk. It was reported that you will have better luck using the cordova-crosswalk plugin instead of the Crosswalk-cordova project. |
I use the cordova-crosswalk-webview plugin from https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview |
Also do you include |
Yeah I include that. I also have to say that the app doesn't crash directly. The problem is that if I open it I get the message that the Crosswalk Project Service is not found and that I have to download it from the Appstore. But I set the xwalkMode to embedded and the size of the app on the device shows me that it is embedded. |
Is there no solution for my problem? |
This is a major issue and should be given priority attention. |
@EpoX44 @jpike88 @brodybits: A. Removed from plugin.xml:
B. Added to my openDatabase calls in javascript:
C. Deleted the folders I hope this helps, the 64 bit support in Crosswalk isn't quite there yet at the time of writing. It is in the plugin but only spits out EITHER a 32-bit variant or 64-bit variant. When it does both into one APK, the removed files above may need to be re-included. |
Thanks @CookieCookson. I will publish a version without the native Android libs when I get a chance. Also a gentle reminder that if you publish an app using the The commercial license is available under the following options:
Contact sales@litehelpers.net |
Cool beans. Thanks for the heads up on the licence, turns out I only need to use |
I found a workaround. If you build it with all builds of arm32, arm64 and x86 crosswalk present, it will work fine. |
This will be documented when I get a chance. May be related to: #247 |
@brodybits - This is issue occurs even without Crosswalk. I have a Samsung Galaxy S6 edge device which crashed earlier but the workaround above given by @CookieCookson fixed it. |
From #752 (closing as a duplicate): Hi guys, (I noticed the same question at crosswalk-project/cordova-plugin-crosswalk-webview#202) Here is the recommended workaround:
diff --git a/plugin.xml b/plugin.xml
index f813a4d..47f3719 100644
--- a/plugin.xml
+++ b/plugin.xml
@@ -35,8 +35,6 @@
<!-- Android-sqlite-connector [jar]: -->
<lib-file src="node_modules/cordova-sqlite-storage-dependencies/libs/sqlite-connector.jar" />
- <!-- Android-sqlite-connector native driver [native libs in jar]: -->
- <lib-file src="node_modules/cordova-sqlite-storage-dependencies/libs/sqlite-native-driver.jar" />
</platform>
<!-- iOS -->
I will not promise when I will get a chance to investigate this one within the free support program due to my existing backlog. For high-priority support needs please contact sales@litehelpers.net for more information. |
Thank you very much @brodybits for this workaround. 🎉 At the moment our application is up and running fine. 👍 |
As other users pointed out already this plugin causes a crash on 64 bit architectures if run under Crosswalk (tested on various versions, canary included).
This plugin also caused the apk to be generated as multi architecture instead of per architecture.
With the very same environment, switching just back to
com.brodysoft.sqlitePlugin 1.0.4
resolved these issues.The problem is definitely something that is on 0.7.x. Hope this feedback helps.
The text was updated successfully, but these errors were encountered: