Итак, у меня есть фитнес-приложение, которое использует базу данных, в которой хранится вся информация.
До сих пор я всегда использовал виртуальные устройства для запуска этого приложения.
Каждый раз, когда я делаю изменения в этой базе данных приложений, я стираю данные из каждого эмулятора, увеличиваю номер версии базы данных, а затем запускаю приложение, и все работает отлично.
На днях я решил использовать Huawei P20 Pro вместо эмулятора, я запустил приложение, и оно отлично работало.
Однако после внесения изменений в базу данных (и увеличения номера версии) база данных больше не инициализируется на моем P20 Pro, и я получаю следующее сообщение об ошибке:
E/AwareLog: AtomicFileUtils: readFileLines file not exist: android.util.AtomicFile@b9caac1
E/MemoryLeakMonitorManager: MemoryLeakMonitor.jar is not exist!
E/AwareLog: AtomicFileUtils: readFileLines file not exist: android.util.AtomicFile@a6b9e54
Я часами искал в Интернете причину проблемы, однако мне не повезло.
Те, кто получил одно и то же сообщение об ошибке, похоже, пользователи Huawei ...
MemoryLeakMonitor.jar не существует! | Huawei Phone
(Я не уверен, если это связано).
Кто-нибудь знает, что означает сообщение об ошибке, и почему я не могу инициализировать базу данных своих приложений на моем физическом устройстве?
Класс базы данных (соответствующий код)
@Database(entities = {Junction.class, Exercise_Workout_Goals.class, Exercises.class, ExerciseType.class, Workouts.class,
WorkoutType.class, Log_Entries.class, ChildExercises.class, ChildParentExerciseJunction.class}, version = 53, exportSchema = false)
public static synchronized ExerciseDatabase getInstance(Context context) {
if (instance == null) {
instance = Room.databaseBuilder(context.getApplicationContext(),
ExerciseDatabase.class, "exercise_database")
.fallbackToDestructiveMigration()
.addCallback(roomCallback)
.build();
}
return instance;
}
Рекомендуется также очистить кэш и данные приложения при переустановке приложения.
Кэш используется, когда ваше приложение хочет снова получить доступ к данным.
Данные приложения хранят информацию, такую как настройки и базу данных. Возможно, ваше приложение ссылалось на старую базу данных и / или пользовательские настройки, и когда приложение переустанавливалось, оно могло иметь другую таблицу и структуру, которые затем вызывали сбой приложения. В вашем случае удаление данных приложения сработало (когда вы это делаете, он тоже очищает кеш). Пожалуйста, посмотрите также это: https://www.androidpolice.com/2020/05/26/clear-app-cache-data-android/
Эта статья взята из Интернета, укажите источник при перепечатке.
Если есть какие-либо нарушения, пожалуйста, свяжитесь с[email protected] Удалить.
я говорю два предложения