AndroidManifest.xml 내부의 android : allowBackup = "true"는 앱이 제거 된 후에도 데이터가 지워지지 않도록합니다.
다음을 매니페스트에 추가하십시오.
android:allowBackup="false"
앱을 다시 설치하십시오.
참고 : 자동 백업을 원하면 나중에 다시 true로 변경하십시오.
또 다른 해결책 :
이전 json 파일의 identityHash와 apps \ schema 폴더에서 새 json 파일을 확인하십시오.
identityHash가 다른 경우 해당 오류가 발생합니다. 아무것도 변경하지 않으려면 두 json 파일을 비교하여 변경 한 내용을 찾으십시오.
exportSchema = true인지 확인하십시오.
@Database(entities = {MyEntity.class, ...}, version = 2, exportSchema = true)
json 스키마 파일 :
"formatVersion": 1,
"database": {
"version": 2,
"identityHash": "53cc5ef34d2ebd33c8518d79d27ed012",
"entities": [
{
암호:
private void checkIdentity(SupportSQLiteDatabase db) {
String identityHash = null;
if (hasRoomMasterTable(db)) {
Cursor cursor = db.query(new SimpleSQLiteQuery(RoomMasterTable.READ_QUERY));
try {
if (cursor.moveToFirst()) {
identityHash = cursor.getString(0);
}
} finally {
cursor.close();
}
}
if (!mIdentityHash.equals(identityHash) && !mLegacyHash.equals(identityHash)) {
throw new IllegalStateException("Room cannot verify the data integrity. Looks like"
+ " you've changed schema but forgot to update the version number. You can"
+ " simply fix this by increasing the version number.");
}
}