Intereting Posts
Как разместить текстовое изображение справа и слева от макета? Кнопка «Дом» в панели действий не работает в Lollipop Фрагмент в ViewPager не восстановлен после popBackStack Отобразить сообщение «Нет товара» в ListView Поворотное представление OpenStreetMap – как проложить карту в направлении движения пальца после вращения в Android? Как нажимать кнопку в Интернете программно Как я могу использовать API-интерфейс для подключения facebook для мобильных пользователей с телефонной связью? Построить ошибки с зависимостью XML с java-объектом в build.gradle для модификации Показать мягкую клавиатуру при активации панели поиска при помощи SearchView «Частный статический конечный» член тестового класса блока Android меняет значение на null Плагин ADT не может установить: Отсутствует требование: инструменты для разработки Android Доступ к файлам ресурсов на Android Отображать html форматированный текст в приложении для Android Как я могу настроить фокус (и отображать клавиатуру) на моем EditText программно Ошибка Android Studio Gradle: несколько файлов dex определяют

Android One Plus Two: не удалось изменить локаль для db

Я использую базу данных Sqlite в одном из моих проектов Android. Он отлично работает на всех устройствах, кроме устройства One Plus Two .

Я получаю исключение при попытке открыть базу данных. Это краш-лог.

12-23 19:14:35.235: E/SQLiteLog(3133): (11) database corruption at line 53216 of [9491ba7d73] 12-23 19:14:35.235: E/SQLiteLog(3133): (11) statement aborts at 7: [SELECT locale FROM android_metadata UNION SELECT NULL ORDER BY locale DESC LIMIT 1] 12-23 19:14:35.237: E/SQLiteDatabase(3133): Failed to open database '/data/data/com.zanec.dryjanuary/databases/alcochange.sqlite'. 12-23 19:14:35.237: E/SQLiteDatabase(3133): android.database.sqlite.SQLiteException: Failed to change locale for db '/data/data/com.zanec.dryjanuary/databases/alcochange.sqlite' to 'en_US'. 

Нажмите здесь, чтобы увидеть полный журнал аварий

Я видел такие другие вопросы, как здесь, я пробовал почти все ответы, но ничего не работает. Я пробовал это и это .

EDIT: устройство работает на Oxygen Lollipop.

Solutions Collecting From Web of "Android One Plus Two: не удалось изменить локаль для db"

Я не могу найти причину, по которой у меня возникает эта ошибка, но почему-то я избегал этого, выполняя следующее.

Раньше у меня была база данных .sqlite в комплекте, и когда пользователь впервые открыл наше приложение, я скопировал базу данных .sqlite из пакета в правильный путь.

Но теперь я экспортировал необработанные запросы из .sqlite и добавил его с пакетом в виде txt-файла. Теперь, когда пользователь впервые открывает приложение, я сначала создам пустой файл .sqlite в пути, а затем я прочитал все запросы .sql из файла txt из пакета и выполнил их по файлу .sqlite в дорожка.

Попробуйте изменить локаль вручную.

Откройте файл базы данных с помощью редактора SQLite, такого как SQLiteStudio , затем откройте таблицу android_metadata . Если он не существует, создайте его. (Вы можете создать его с помощью редактора запросов (инструменты> открыть редактор запросов) и скопировать / вставить код DDL ниже)

 CREATE TABLE android_metadata ( locale TEXT ); 

Для вставки записи вы можете скопировать / вставить эту строку в редактор запросов:

 INSERT INTO android_metadata VALUES ('en_us'); 

Подсказка: для запуска запроса в SQLiteStudio вы должны нажать кнопку с молния Значок на панели инструментов.