我使用SQLiteManager
创建encrypted database
并将其存储在assets
文件夹中。然后,我将此database
从assets
移动到data/data/package_name/databases
文件夹,并尝试在运行时打开它。
已使用原始密码在SQLiteManager
中成功打开复制的文件,这意味着我有正确的复制代码(使用DDMS导出文件,然后在SQLiteManager
中打开它)。
但是,在程序中,我使用
dbFile = context.getDatabasePath(DataProvider.DATABASE_NAME);
SQLiteDatabase.openOrCreateDatabase(dbFile, context.getString(R.string.KEY_DATABASE), null);
打开文件,但应用程序崩溃并出现此错误:
file is encrypted or is not a database: create locale table failed
在openOrCreateDatabase
行。我该如何解决这个烂摊子?