Tôi đang sử dụng cơ sở dữ liệu Sqlite trong một dự án Android của mình. Nó hoạt động tốt trong tất cả các thiết bị ngoại trừ One Plus Two thiết bị.Android One Plus Two: Không thể thay đổi ngôn ngữ cho db
Tôi nhận được ngoại lệ trong khi cố gắng mở cơ sở dữ liệu. Đây là crashlog.
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'.
Hãy click here để xem vụ tai nạn log đầy đủ
Tôi đã thấy những câu hỏi khác như thế ở đây, tôi đã cố gắng hầu hết các câu trả lời, nhưng không hoạt động. Tôi đã thử this và this.
EDIT: Thiết bị chạy trên Oxygen Lollipop.
Mô hình thiết bị không cho chúng tôi biết tất cả, phần mềm, rom, v.v. Có cách hữu ích hơn vì thiết bị OnePlus thường chạy nhiều cấu hình khác nhau. –
Đường dẫn này '/data/data/com.zanec.dryjanuary/databases/alcochange.sqlite/'không tồn tại. Kiểm tra 'context.getDatabasePath (/data/data/com.zanec.dryjanuary/databases/alcochange.sqlite/)' trả về kiểu 'File'. –
Bạn có một dòng 'E/SQLiteDatabase (6278): Gây ra bởi: ???' trong crashlog của bạn? – naXa