0

这是我的程序。

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        InitializeSQLCipher();
    }



         private void InitializeSQLCipher() {
                SQLiteDatabase.loadLibs(this);

                File databaseFile = getDatabasePath("demo.db");

                databaseFile.mkdirs();

                databaseFile.delete();

                SQLiteDatabase database = SQLiteDatabase.openOrCreateDatabase(databaseFile, "test123", 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"});
         }
}

我在这个链接中的这个程序中添加了一些三个库............ https://github.com/sqlcipher/android-database-sqlcipher

现在我的查询是我收到以下错误。如何克服以获得完美的解决方案...

04-12 11:47:27.379: E/AndroidRuntime(2163): FATAL EXCEPTION: main
04-12 11:47:27.379: E/AndroidRuntime(2163): java.lang.NoClassDefFoundError: net.sqlcipher.database.SQLiteDatabase
04-12 11:47:27.379: E/AndroidRuntime(2163): at com.example.testproject.MainActivity.InitializeSQLCipher(MainActivity.java:43)   
04-12 11:47:27.379: E/AndroidRuntime(2163): at com.example.testproject.MainActivity.onCreate(MainActivity.java:37)
04-12 11:47:27.379: E/AndroidRuntime(2163): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
04-12 11:47:27.379: E/AndroidRuntime(2163): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) .... and so on ...
4

2 回答 2

1

即使库具有必需的 jar 文件,我也遇到了同样的问题。通过修改 Proguard 配置文件解决了这个问题。显然,Proguard 正在通过删除 lib 来优化 APK。因此,如果您使用 Proguard,您可能需要查看配置文件。

于 2013-09-13T09:35:47.623 回答
1

它找不到您的图书馆。如果它是一个 jar,您是否将它放在您的 libs 文件夹中并将其添加到项目中?你是在导出选项卡上导出的吗?如果它是一个库项目,您是否将其添加为库?如果是这样,它是否在 project.properties 中添加了引用?

如果所有这些都正确,请尝试 make clean,eclipse 可能只需要重新编译所有内容。

于 2013-04-12T06:50:21.620 回答