プロジェクトに SQLCipher を追加しようとしています。jar ファイルをプロジェクトにリンクすることはできますが、提供された .so ファイルのリンクに問題があります。
そのため、DB を開こうとすると UnSatisfiedLinkError が発生します。
プロジェクトに .so ファイルを追加して実行するための最良の方法を教えてください。
jarファイルに加えて、.soファイルを含める必要があります。私のプロジェクトでは、次のことがあります。
jar files in project_root/libs/
.so files in project_root/libs/armeabi/
また、.jarファイルが正しく追加されていることを確認してください。Project Properties -> Java Build Path -> Libraries
タブに移動し、、、がそこに追加されていることを確認commonc-codec.jar
します。gueva-r09.jar
sqlcipher.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”):
adb shell コマンドを使用して、解凍後にシミュレーターにデプロイされているファイルを確認できますか。以前、.so ファイルが .apk ファイルにパッケージ化されていない問題を確認しました。これは、IDE がアプリケーションの正しいネイティブ ライブラリ パスを指していないことが原因です。