Если у вас нет контроля над источником приложения, тогда я не верю, что вы можете изменить режим.
Сказав это, наиболее вероятная причина того, что приложение не работает, - это использование ранее существующей базы данных (скопированной из папки активов).
Если это так, и у вас есть доступ к другому устройству, на котором работает приложение (т. Е. Меньше, чем Android 9), и у вас есть доступ к файлу базы данных (могут потребоваться корневые устройства). Существует большая вероятность того, что копирование этого файла базы данных из папки после удаления файлов -shm и -wal на устройстве Android 9 (опять же, возможно, потребуется рутирование) будет работать (хотя будет использоваться WAL), но проблема заключается в том, что Скорее всего, чисто копирование уже существующей базы данных.
- Я провел тест с использованием устройств 5.0 и 10.0 (эмуляторы), и это сработало нормально.
Однако, если у вас был доступ к коду: -
Вы можете использовать метод SQLiteDatabase disableWriteAheadLogging . Это можно было бы выполнить, переопределив метод onConfigure , если используется подкласс SQLiteOpenHelper.
Если вы не используете подкласс SQLiteOpenHelper, вы можете установить режим журнала, используя journal_mode PRAGMA.