2012-05-17 76 views
0

我正在使用SQLite Db將SQLCipher集成到應用程序中。當應用程序啓動時,我收到「應用程序意外停止」錯誤。當我看着LogCat時,我看到最初的錯誤是「CREATE TABLE android_metadata failed」。我對這個應用程序做的唯一更改是添加代碼來集成SQLCIpher。我確定我沒有正確編碼,但不知道我錯過了什麼。已完成以下操作:SQLCipher CREATE TABLE android_metadata失敗

1.java.io.file,info,guardianproject.database.sqlcipher.SQLiteDatabase,android.os.Bundle和android.app.activity已被導入。 2. InitializeSQLCipher()已添加到飛濺活動

private void InitializeSQLCipher() { 
    SQLiteDatabase.loadLibs(this); 
    File databaseFile = getDatabasePath ("mydatabase.db"); 
    databaseFile.mkdirs(); 
    databaseFile.delete(); 
    SQLiteDatabase database = SQLiteDatabase.openOrCreateDatabase(databaseFile, "password", null); 
    database.execSQL("create table t1(a, b)"); 
    database.execSQL("insert into t1(a, b) values(?, ?)", new Object[]{"one for the money", "two for the show"}); 
    } 
+0

FWIW,這是一個示例應用程序,顯示正在使用的SQLCipher:https://github.com/commonsguy/cw-advandroid/tree/master/Database/ConstantsSecure – CommonsWare

回答

0

刪除了「。」 from databasename.db(例如數據庫b)

0

的onCreate方法最有可能的答案是,你沒有移動ICU的資源文件注入資產目錄。確保將icu * .zip複製到您的資產文件夾並將其包含在您的版本中。

0

CommonsWare提供了說明該概念的示例代碼。檢查出來here