雖然Android提供了訪問 sqlite的Java接口,但現在需要在ndk中使用 c 語言訪問sqlite。
方法有二:
第一種:使用源碼 sqlite3.h, sqlite3.c。
從android源碼網站下載sqlite.git庫,找到這兩個文件,放到項目源碼中去,進行ndk編譯即可。
優點:簡單,很容易想到
缺點:不能有效利用 /system/lib/libsqlite.so文件,導致編譯得到的庫文件過大。
改進方法二:
根據 liblog.so的使用方法推測得到該方法。
1、先adb pull /system/lib/libsqlite.so得到 libsqlite.so文件
2、把libsqlite.so文件放到 $NDK/platforms/android-3/arch-arm/usr/lib目錄下。
3、把 sqlite3.h放到 $NDK/platforms/android-3/arch-arm/usr/include/android目錄下。
4、在Android.mk 文件中加入語句: LOCAL_LDLIBS := -lsqlite
5、進行ndk編譯
$NDK/platform/目錄下可能有多個子目錄,根據需要放到對應的目錄下,萬一不行,每個子目錄都添加sqlite3.h libsqlite.so文件。