$cordovaSQLite 32 bit


I’m getting this java exception when I run my app on a 32 bit cpu architecture:

No implementation found for java.lang.String com.almworks.sqlite4java.SQLiteSwiggedJNI.sqlite3_libversion() (tried Java_com_almworks_sqlite4java__1SQLiteSwiggedJNI_sqlite3_1libversion and Java_com_almworks_sqlite4java__1SQLiteSwiggedJNI_sqlite3_1libversion_)

com.almworks.sqlite4java.SQLiteException: [-91] cannot load library: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file “/data/app/com.ionicframework.ihpapp434560-1/base.apk”],nativeLibraryDirectories=[/data/app/com.ionicframework.ihpapp434560-1/lib/x86, /vendor/lib, /system/lib]]] couldn’t find “libsqlite4java-android-x86_64.so”

It happens when I call $cordovaSQLite.openDB(dbhere).

I think is because the path on a 32 bit architecture is different from a 64 bit (it work on it) so it can’t load the plugin but I don’t know how to resolve it.

Can someone help?

Thanky you.

Same error here, but only on Samsung Galaxy S6 with android 5.0.2.
Marco, did you found a solution?

Our app didn’t seem to work on the new Samsung Note 5. The above link suggests adding androidDatabaseImplementation: 2 to the sqlite openDatabase. If you’re using ng-cordova, you’ll need to edit your file a bit:

angular.module('ngCordova.plugins.sqlite', [])
// .....
.factory('$cordovaSQLite', ['$q', '$window', function ($q, $window) {
return $window.sqlitePlugin.openDatabase({
      name: dbName,
      bgType: background,  // don't forget the comma
      androidDatabaseImplementation: 2 //add this important bit here

I’m still looking into this solution to determine if this will work for other devices, but it got the sqlite to work on the new phone for our app, so I have hope it will work for the others.