用系統libsqlite.so 進行ndk 開發

不像liblog.so,android 沒有直接開放libsqlite.so給外部使用

雖然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文件。

發佈了51 篇原創文章 · 獲贊 23 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章