不像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文件。

更多相关文章

  1. 桌面小控件(Widget)--之清理进程
  2. android studio ,Gradle DSL method not found: 'compile()'
  3. 详解如何让Android(安卓)UI设计性能更高效
  4. android 7.0 ,6.0本地多语言切换失效
  5. Android(安卓)开发简介
  6. android 中定时器的几种用法总结
  7. Android的IPC方式
  8. 自定义View系列教程07--详解ViewGroup分发Touch事件
  9. AndroidStudio使用教程(第一弹)

随机推荐

  1. Android中listview中的button
  2. 在Android关机中插入脚本
  3. Android平台开发-WIFI 驱动移植 -- 详细
  4. 安卓巴士Android开发神贴整理
  5. android traceview and dmtracedump使用
  6. Android(安卓)布局
  7. Android(安卓)UI大杂烩
  8. Android(安卓)TextView背景色、圆角、内
  9. Android(安卓)获取地理位置的经度和纬度
  10. 设置行距