[RK3399][Android7.1] 除錯筆記 --- OTA diff升級輸入法異常
阿新 • • 發佈:2018-11-10
Platform: RK3399
OS: Android 7.1
Kernel: v4.4.83
現象:
之前因為版權的原因替換了輸入法。請參考:[RK3399][Android7.1] 除錯筆記 —谷歌拼音替換搜狗輸入法
但是再做OTA升級的時候發現輸入法升級異常。
原因:
做OTA diff包升級不會清除data分割槽,而預設的輸入法配置是放在
/data分割槽的,導致系統起來找不到而使用預設的英文輸入法。
解決方法:
每次開機重新載入/data/system/users/0/settings_secure.xml,這樣裡面預設的輸入法就會被更新。
--- a/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java +++ b/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java @@ -1858,10 +1858,11 @@ public class SettingsProvider extends ContentProvider { // Every user has secure settings and if no file we need to migrate. final int secureKey = makeKey(SETTINGS_TYPE_SECURE, userId); File secureFile = getSettingsFile(secureKey); + /* if (secureFile.exists()) { return; } - + */ DatabaseHelper dbHelper = new DatabaseHelper(getContext(), userId); SQLiteDatabase database = dbHelper.getWritableDatabase();