Tencent / VasSonic

VasSonic is a lightweight and high-performance Hybrid framework developed by tencent VAS team, which is intended to speed up the first screen of websites working on Android and iOS platform.
Other
11.8k stars 1.61k forks source link

Android - SQLiteException:Failed to change locale for db '/data/data/xxx/databases/sonic.db' to 'zh_CN'. #288

Closed thomsonwulong closed 5 years ago

thomsonwulong commented 5 years ago

问题描述: 线上多个用户出现 SQLiteException:Failed to change locale for db '/data/data/xxx/databases/sonic.db' to 'zh_CN'. 崩溃问题

Vassonic版本: 3.1.0

出现崩溃系统&版本: 目前有Android 4.4.4、5.1、5.1.1、6.0

崩溃信息: 1.android.database.sqlite.SQLiteException:Failed to change locale for db '/data/data/xxxx/databases/sonic.db' to 'zh_CN'.

2 android.database.sqlite.SQLiteConnection.setLocaleFromConfiguration(SQLiteConnection.java:391) 3 ...... 4 android.database.sqlite.SQLiteFullException:database or disk is full (code 13) 5 android.database.sqlite.SQLiteConnection.nativeExecute(Native Method) 6 android.database.sqlite.SQLiteConnection.execute(SQLiteConnection.java:553) 7 android.database.sqlite.SQLiteConnection.setLocaleFromConfiguration(SQLiteConnection.java:369) 8 android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:216) 9 android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:191) 10 android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:463) 11 android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:185) 12 android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:177) 13 android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:806) 14 android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:791) 15 android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:694) 16 android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:1261) 17 android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:283) 18 android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:223) 19 android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:163) 20 com.tencent.sonic.sdk.SonicEngine.void initSonicDB()(SourceFile:113) 21 com.tencent.sonic.sdk.SonicEngine.com.tencent.sonic.sdk.SonicEngine createInstance(com.tencent.sonic.sdk.SonicRuntime,com.tencent.sonic.sdk.SonicConfig)(SourceFile:102)

网上解决方案: https://stackoverflow.com/questions/21155598/android-sqlite-failed-to-change-locale-for-db-to-zh-cn/21155951

marlonlu commented 5 years ago

感谢你的反馈,这个问题我们会在未来版本修复

heroszcy commented 4 years ago

这个问题新版本还没有修复,什么时候会发布新版本呢?