我们可以确保我们的应用程序使用我们的SQLITE版本而不是Android提供的那个版本...使用Android NDK吗?

时间:2011-06-07 10:50:52

标签: android sqlite android-ndk

我们的应用程序在使用Android 2.1中提供的默认sqlite版本时遇到问题。 所以我们想为我们的App使用自定义的sqlite版本。 所以我的问题是..如果我们从SQLITE.org获得最新的sqlite版本并使用android NDK编译,我们能否在我们的应用程序中发生数据库操作时调用我们的sqlite库吗? 例如:如果在应用程序代码中有一个类似“db.execSQL()”的调用,我们如何确定它会调用自定义库?

1 个答案:

答案 0 :(得分:0)

除了构建自己的sqlite共享对象之外,还需要用自己的一个或多个替换Android中的一个或多个标准java源代码(除非您实际上只是替换平台的sqlite共享对象)。平台框架自动加载/system/lib/libsqlite.so。

我建议不要命名你的共享对象libsqlite.so。我已经看到Android的dlopen()被告知加载两个具有不同路径但名称相同的共享对象,只是让第一个打开两次。