【问题标题】:Cannot resolve symbol 'sqlite_sequence' and 'name in Android'无法解析符号“sqlite_sequence”和“Android 中的名称”
【发布时间】:2019-11-11 13:46:57
【问题描述】:

我正面临这个问题:

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

迁移到AndroidX 后出现此问题。

虽然应用程序在调试/开发期间运行良好,但当我尝试生成签名 APK 时,它导致了这个问题并且没有解决。

这是 Analyze >> Inspect Code...

的结果

【问题讨论】:

  • 您是否尝试过“使缓存无效并重新启动?
  • 怎么做?
  • 我试过但没有解决我的问题。

标签: android android-studio android-room androidx


【解决方案1】:

“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”方法

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-03
    • 1970-01-01
    • 1970-01-01
    • 2016-06-15
    • 2017-02-09
    • 2015-12-28
    相关资源
    最近更新 更多