So I have a fitness application which involves the use of a database which stores all info.
Up until now, I have always used virtual devices to run this application.
Each time I make changes to this apps database, I wipe the data from each emulator, increase database version number and then run the app and it all works perfectly fine.
The other day I decided to use my Huawei P20 Pro instead of an emulator, I ran the app and it worked perfectly.
However, after making changes to the database (and increasing version number) the database is no longer being initialised on my P20 Pro and I am getting the following error message:
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
I have spent hours searching online for the cause of the problem, however I have not had much luck.
Those who have received the same error message all seem to be Huawei users...
MemoryLeakMonitor.jar is not exist! | Huawei Phone
(I'm not sure if this is related).
Does anyone know of what the error message means, and why I am not able to initialise my applications database on my physical device?
Database Class (Relevant code)
@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;
}