事象の水平線

個人的ブックマーク代わりなメモ書きブログ。 地球は丸いよ。↓このへん。

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PageTop
SQLcipher はAndroidでSQLiteをAES暗号化するナイスなライブラリ
BSDライセンスっぽいので商用でも安心して使えそう。

SQLcipherの使い方はググれば簡単に素敵な記事が見つかるので省略。

同様にセキュリティ関連でJNIを一緒に使おうとして数時間ハマッタので共存させるメモ。

簡潔に答えのみを
/jni/以下に適当なフォルダ(今回はexternal/armeabi/)を作りsqlcipherのlibsに入れるべきファイルを入れる。
sqlcipher.png

Android.mkを以下のような感じにする。

include $(CLEAR_VARS)
LOCAL_MODULE := OwnJNISource
LOCAL_SRC_FILES := OwnJNISource.cpp
include $(BUILD_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := database_sqlcipher
LOCAL_SRC_FILES := external/armeabi/libdatabase_sqlcipher.so
include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := sqlcipher_android
LOCAL_SRC_FILES := external/armeabi/libsqlcipher_android.so
include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := stlport_shared
LOCAL_SRC_FILES := external/armeabi/libstlport_shared.so
include $(PREBUILT_SHARED_LIBRARY)

以上でOK

説明としては、JNIで.soをビルドする時に他の.soを消してしまうので、既存の.soを別ディレクトリからコピーするようにする。らしい。
armeabi-v7a と x86 についてはどうするかは調べてないです。
→調べてみた。『JNI と SQLcipher の共存    と複数ターゲット

詳しい説明は以下参照
Android NDK の使用とapkファイルへの入れ方
.[ Android ] 自分でコンパイルした既存のビルド済みの複数の共有ライブラリ(lib***.so)を使う方法。 Android.mk の設定が必要

スポンサーサイト

PageTop

コメント

 ※
 ※
管理者にだけ表示を許可する
  ※ 必須項目です

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。