diff --git a/mailbox-android/build.gradle b/mailbox-android/build.gradle
index a926079f715ad34353dc1d9a753608a8bf3bd1d3..3260cdb9eebded14e0b3283074c92edf3b4ee115 100644
--- a/mailbox-android/build.gradle
+++ b/mailbox-android/build.gradle
@@ -42,6 +42,12 @@ android {
         // Due to https://github.com/Kotlin/kotlinx.coroutines/issues/2023
         exclude 'META-INF/licenses/*'
         exclude '**/attach_hotspot_windows.dll'
+        merge "**/libsqlitejdbc.so"
+        merge "/org/sqlite/native/Linux/android-arm/libsqlitejdbc.so"
+        merge "org/sqlite/native/Linux/android-arm/libsqlitejdbc.so"
+        doNotStrip "**/libsqlitejdbc.so"
+        doNotStrip "/org/sqlite/native/Linux/android-arm/libsqlitejdbc.so"
+        doNotStrip "org/sqlite/native/Linux/android-arm/libsqlitejdbc.so"
     }
 }
 
@@ -91,7 +97,7 @@ def torLibsDir = 'src/main/jniLibs'
 task cleanTorBinaries {
     doLast {
         delete fileTree(torBinariesDir) { include '*.zip' }
-        delete fileTree(torLibsDir) { include '**/*.so' }
+        //delete fileTree(torLibsDir) { include '**/*.so' }
     }
 }
 
diff --git a/mailbox-android/src/androidTest/java/org/briarproject/mailbox/core/DatabaseCreationTest.kt b/mailbox-android/src/androidTest/java/org/briarproject/mailbox/core/DatabaseCreationTest.kt
index 7ecf1961a53d9e1c4b202489c7b5884b42febf5d..3247a72250e7d7aaa03dc2489d9081eaaccbc3a4 100644
--- a/mailbox-android/src/androidTest/java/org/briarproject/mailbox/core/DatabaseCreationTest.kt
+++ b/mailbox-android/src/androidTest/java/org/briarproject/mailbox/core/DatabaseCreationTest.kt
@@ -3,23 +3,66 @@ package org.briarproject.mailbox.core
 import android.util.Log
 import kotlinx.coroutines.runBlocking
 import org.junit.Test
+import org.sqlite.SQLiteJDBCLoader
 import org.sqlite.mc.SQLiteMCConfig
+import org.sqlite.util.OSInfo
 import java.io.File
 import java.sql.Connection
 import java.sql.DriverManager
 import kotlin.test.assertEquals
 import kotlin.test.assertTrue
 
+
 class DatabaseCreationTest {
 
     companion object {
         val LOG_TAG = "db test"
     }
 
+    fun hasResource(path: String?): Boolean {
+        return DatabaseCreationTest::class.java.getResource(path) != null
+    }
+
     @Test
     fun createDatabase(): Unit = runBlocking {
         Class.forName("org.sqlite.JDBC")
 
+        var foo = OSInfo.getNativeLibFolderPathForCurrentOS()
+        Log.i(LOG_TAG, "native lib folder path: $foo")
+
+        var sqliteNativeLibraryPath = System.getProperty("org.sqlite.lib.path")
+        var sqliteNativeLibraryName = System.getProperty("org.sqlite.lib.name")
+        Log.i(LOG_TAG, "native library path: $sqliteNativeLibraryPath")
+        Log.i(LOG_TAG, "native library name: $sqliteNativeLibraryName")
+        val mapped = System.mapLibraryName("sqlitejdbc")
+        Log.i(LOG_TAG, "mapped library name: $mapped")
+
+        if (sqliteNativeLibraryName == null) {
+            sqliteNativeLibraryName = System.mapLibraryName("sqlitejdbc")
+            if (sqliteNativeLibraryName != null && sqliteNativeLibraryName.endsWith(".dylib")) {
+                sqliteNativeLibraryName = sqliteNativeLibraryName.replace(".dylib", ".jnilib")
+            }
+        }
+
+        val packagePath =
+            SQLiteJDBCLoader::class.java.getPackage().name.replace("\\.".toRegex(), "/")
+        sqliteNativeLibraryPath =
+            String.format("/%s/native/%s", packagePath, OSInfo.getNativeLibFolderPathForCurrentOS())
+        val resource = sqliteNativeLibraryPath.toString() + "/" + sqliteNativeLibraryName
+        val hasNativeLib: Boolean = hasResource(resource)
+        val hasWindowsLib: Boolean = hasResource("/org/sqlite/native/Windows/x86/sqlitejdbc.dll")
+        val hasLinuxFoo: Boolean = hasResource("/org/sqlite/native/Linux/android-arm/libsqlitejdbc.foo")
+        val hasTor1: Boolean = hasResource("/jniLibs/armeabi-v7a/libtor.so")
+        val hasTor2: Boolean = hasResource("/armeabi-v7a/libtor.so")
+        val hasTor3: Boolean = hasResource("/libtor.so")
+        Log.i(LOG_TAG, "resource: $resource")
+        Log.i(LOG_TAG, "has native lib: $hasNativeLib")
+        Log.i(LOG_TAG, "has Windows lib: $hasWindowsLib")
+        Log.i(LOG_TAG, "has Linux foo: $hasLinuxFoo")
+        Log.i(LOG_TAG, "has tor1: $hasTor1")
+        Log.i(LOG_TAG, "has tor2: $hasTor2")
+        Log.i(LOG_TAG, "has tor3: $hasTor3")
+
         val file: File = File.createTempFile("test", ".sqlite")
         Log.i(LOG_TAG, "file: $file")
         val connection: Connection = DriverManager.getConnection(
diff --git a/mailbox-android/src/main/resources/org/sqlite/native/Linux/aarch64/libsqlitejdbc.so b/mailbox-android/src/main/resources/org/sqlite/native/Linux/aarch64/libsqlitejdbc.so
new file mode 100755
index 0000000000000000000000000000000000000000..7bad179fe5a836e451c2cb7396087860aae1a116
Binary files /dev/null and b/mailbox-android/src/main/resources/org/sqlite/native/Linux/aarch64/libsqlitejdbc.so differ
diff --git a/mailbox-android/src/main/resources/org/sqlite/native/Linux/android-arm/libsqlitejdbc.so b/mailbox-android/src/main/resources/org/sqlite/native/Linux/android-arm/libsqlitejdbc.so
new file mode 100755
index 0000000000000000000000000000000000000000..35f3fba421b28fe72e9791045c54520b31ecb9e7
Binary files /dev/null and b/mailbox-android/src/main/resources/org/sqlite/native/Linux/android-arm/libsqlitejdbc.so differ
diff --git a/mailbox-android/src/main/resources/org/sqlite/native/Linux/arm/libsqlitejdbc.so b/mailbox-android/src/main/resources/org/sqlite/native/Linux/arm/libsqlitejdbc.so
new file mode 100755
index 0000000000000000000000000000000000000000..fe111c21af68547e9cc0d32efed63b115d975bfd
Binary files /dev/null and b/mailbox-android/src/main/resources/org/sqlite/native/Linux/arm/libsqlitejdbc.so differ
diff --git a/mailbox-android/src/main/resources/org/sqlite/native/Linux/armv7/libsqlitejdbc.foo b/mailbox-android/src/main/resources/org/sqlite/native/Linux/armv7/libsqlitejdbc.foo
new file mode 100755
index 0000000000000000000000000000000000000000..782719738fffc941438283dc6d554ef7c3fef182
Binary files /dev/null and b/mailbox-android/src/main/resources/org/sqlite/native/Linux/armv7/libsqlitejdbc.foo differ
diff --git a/mailbox-android/src/main/resources/org/sqlite/native/Linux/armv7/libsqlitejdbc.so b/mailbox-android/src/main/resources/org/sqlite/native/Linux/armv7/libsqlitejdbc.so
new file mode 100755
index 0000000000000000000000000000000000000000..782719738fffc941438283dc6d554ef7c3fef182
Binary files /dev/null and b/mailbox-android/src/main/resources/org/sqlite/native/Linux/armv7/libsqlitejdbc.so differ
diff --git a/mailbox-android/src/main/resources/org/sqlite/native/Linux/ppc64/libsqlitejdbc.so b/mailbox-android/src/main/resources/org/sqlite/native/Linux/ppc64/libsqlitejdbc.so
new file mode 100755
index 0000000000000000000000000000000000000000..e1a224881ed661b6cd306e52329d4923a60d4665
Binary files /dev/null and b/mailbox-android/src/main/resources/org/sqlite/native/Linux/ppc64/libsqlitejdbc.so differ
diff --git a/mailbox-android/src/main/resources/org/sqlite/native/Linux/x86/libsqlitejdbc.so b/mailbox-android/src/main/resources/org/sqlite/native/Linux/x86/libsqlitejdbc.so
new file mode 100755
index 0000000000000000000000000000000000000000..34d37472ac60a754c87c714e12b08d2c6b5bac40
Binary files /dev/null and b/mailbox-android/src/main/resources/org/sqlite/native/Linux/x86/libsqlitejdbc.so differ
diff --git a/mailbox-android/src/main/resources/org/sqlite/native/Linux/x86_64/libsqlitejdbc.so b/mailbox-android/src/main/resources/org/sqlite/native/Linux/x86_64/libsqlitejdbc.so
new file mode 100755
index 0000000000000000000000000000000000000000..53291c66028ac9e6f50c4518bb53dfe495a0bacd
Binary files /dev/null and b/mailbox-android/src/main/resources/org/sqlite/native/Linux/x86_64/libsqlitejdbc.so differ