无法解析符号“ sqlite_sequence”和“ Android中的名称”

时间:2019-06-30 17:00:10

标签: android android-studio android-room androidx

我正面临这个问题:

  

无法解析符号“ sqlite_sequence”   无法解析符号“名称”

此问题在迁移到AndroidX后发生。

Room Database Problem

虽然应用程序在调试/开发过程中运行良好,但是当我尝试生成Signed APK时,它导致了该问题,并且无法解决。

这是分析 >> 检查代码...

的结果

enter image description here

1 个答案:

答案 0 :(得分:0)

在房间数据库中无法访问“ sqlite_sequence”和“ android_metadata”。

您必须使用“ SQLiteOpenHelper”删除序列。

这是我的代码,

public class DbHelper extends SQLiteOpenHelper {

static final int DATABASE_VERSION = 1;
static final String DATABASE_NAME = AppDatabase.DATABASE_NAME;

public DbHelper(Context context) {
    super(context, DATABASE_NAME, null, DATABASE_VERSION);
}

public void onCreate(SQLiteDatabase db) {
}

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    onCreate(db);
}

public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    onUpgrade(db, oldVersion, newVersion);
}


public static void resetAutoIncrement(DbHelper dbHelper,String tablename)
{
    dbHelper.getWritableDatabase().execSQL("DELETE FROM sqlite_sequence WHERE name='"+tablename+"';");
}}

使用“ resetAutoIncrement”方法