Итак, у меня есть приложение Cordova, которое использует sqlcipher для связи с базой данных.Есть конкретный оператор insert
, в котором мне нужно вставить много данных в БД.
Таким образом, вставка завершается неудачно, выдавая мне следующую ошибку:
Failed to allocate 1638057 bytes for text/blob at 0,0
После исследования я обнаружил, чтоиз того, что sqlcipher имеет ограничение в 1 МБ.Одним из решений, которое я обнаружил, было обновление до версии 3.5.7, где sqlcipher имеет динамический размер.
После обновления до 3.5.7 I при запуске приложения приложение перестает работать, и в журналах отображается следующая ошибкав
SQLiteDatabase.loadLibs (this);
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader [DexPathList [[zip-файл »/data/app/org.something.offline-upC4lfhZqsaVGORPq1Gtgg == / base.apk "], nativeLibraryDirectories = [/ data / app / org.something.offline-upC4lfhZqsaVGORPq1Gtgg == / lib / arm, / system / fake-libs, /dthing/app/org.offline-upC4lfhZqsaVGORPq1Gtgg == / base.apk! / lib / armeabi-v7a, / system / lib, / system / vendor / lib]]] не может найти "libsqlcipher.so"
Iискал ошибку онлайн, но не смог найти решение.
РЕДАКТИРОВАТЬ: Решил вышеуказанную проблему.Это была проблема с упаковкой. Я забыл импортировать файлы liquibase.so Теперь я получаю новую ошибку: https://pastebin.com/jzX9AqEX