Android DB Flow-net.sqlcipher.database.SQLiteException:文件不是数据库:,编译时:从sqlite_master中选择count(*);

Android DB Flow-net.sqlcipher.database.SQLiteException:文件不是数据库:,编译时:从sqlite_master中选择count(*);,android,sqlcipher-android,dbflow,Android,Sqlcipher Android,Dbflow,我有一个已经生产多年的应用程序。它使用内部使用标准SQLite DB的。该应用程序的最新版本集成了SqlCipher 4.4.3库 我采用了加密数据库的方法,如果我将其作为一个新的应用程序安装,它就会工作,但当我在没有加密数据库的旧应用程序上安装此应用程序时,它会失败,出现此异常 net.sqlcipher.database.SQLiteException: file is not a database: , while compiling: select count(*) from sqlit

我有一个已经生产多年的应用程序。它使用内部使用标准SQLite DB的。该应用程序的最新版本集成了SqlCipher 4.4.3库

我采用了加密数据库的方法,如果我将其作为一个新的应用程序安装,它就会工作,但当我在没有加密数据库的旧应用程序上安装此应用程序时,它会失败,出现此异常

net.sqlcipher.database.SQLiteException: file is not a database: , while compiling: select count(*) from sqlite_master;
我试图从表中读取一些数据:

UserTable.findByUuid(uuid);
我试着像这样打开数据库:

SQLiteDatabase.loadLibs(this);
File dbFile = getDatabasePath("myDBName.db");
SQLiteDatabase.openOrCreateDatabase(dbFile, "passPhrase", null);
用户表:

public class UserTable {
    public static User findByUuid(String uuid) {
        return SQLite.select().from(User.class).where(User_Table.uuid.eq(uuid)).querySingle();
    }
}
用户模型:

@Table(database = DatabaseManager.class)
public class User extends BaseModel {

    @Column
    String uuid;
    // all other fields and set and get methods to go here
}
问题: 如何打开现有应用程序的加密数据库以在DB Flow中执行读/写操作