将.so文件添加到Android项目中

时间:2011-11-18 10:35:06

标签: android sqlcipher

我正在尝试将SQLCipher添加到我的项目中。我能够将jar文件链接到项目,但是链接提供的.so文件存在问题。

由于我在尝试打开数据库时遇到UnSatisfiedLinkError。

任何人都可以让我知道将.so文件添加到项目并使其运行的最佳方法。

2 个答案:

答案 0 :(得分:4)

除了jar文件,您还需要包含.so文件。在我的项目中,我有:

jar files in project_root/libs/
.so files in project_root/libs/armeabi/

还要确保已正确添加.jar文件。转到Project Properties -> Java Build Path -> Libraries标签,确保添加commonc-codec.jargueva-r09.jarsqlcipher.jar

编辑

1) Add a single sqlcipher.jar and a few .so’s to the application libs directory
2) Update the import path from android.database.sqlite.* to info.guardianproject.database.sqlite.* in any source files that reference it. The original android.database.Cursor can still be used unchanged.
3) Init the database in onCreate() and pass a variable argument to the open database method with a password*:

    SQLiteDatabase.loadLibs(this); //first init the db libraries with the context
    SQLiteOpenHelper.getWritableDatabase(“thisismysecret”):

答案 1 :(得分:0)

是否可以使用adb shell命令验证解压缩后哪些文件部署到模拟器。我之前看到.so文件没有打包在.apk文件中的问题,这是由于IDE未指向应用程序的正确本机库路径。