Oracle基于Android编译过程及SQL高可用

  本文针对Oracle Berkeley DB 5.2版本,从以下几个方面做详细介绍:Android平台编译过程、ADO.NET开发包、SQL HA的主从复制的工作原理、SQL HA的使用语法和示例。

  在Berkeley DB 5.2版本中,Android Drop-in编译方式正式纳入官方发布文档。5.2的Android编译过程和先前我基于DBSQL 5.0写的博文稍有不同。首先介绍Oracle Berkeley DB 5.2官方文档中Android安装文档。

  Android默认提供的数据库功能是SQLite。Berkeley DBSQL完全兼容SQLite API,可以直接替换SQLite库而无需改动现有的应用程序或服务。依本方法编译得到的Berkeley DBSQL库将完全替换Android的SQLite库(drop-in模式)。在这种模式下,Android平台上所有的应用程序(包括我们自己编译的应用程序)都将链接到Berkeley DBSQL库以获取更高的存储和并发性能。

  Android编译过程

  下面将提供Berkeley DB Drop-in方式的Android编译指令。

  首先要下载并且编译Android源代码树。

  第一次编译过程需要花费较长一段时间,不过后面再编译就快多了。可以从这里下载Android的源代码并且按照Android文档完成编译过程。

  把Berkeley DB代码目录拷到Android的代码目录里面:

$ cd ${root}/external/sqlite/dist  
$ tar zxvf db-xx.tar.gz

     这里的${root}指的是Android源代码树的根路径。

  通过以下命令将源代码树中默认的Android.mk文件替换成Berkeley DB的版本:

$ cd ${root}/external/sqlite/dist  
$ mv Android.mk Android.mk.sqlite  
$ cp db-xx/build_android/Android.mk ./  

     提示:编译之前,可通过这里查看Android平台上的几种调优参数。

  重新编译数据库部分,这样Berkeley DB就替换到最终生成的系统镜像了:

$ cd ${root}  
$ . build/envsetup.sh  
$ make clean-libsqlite  
$ mmm -B external/sqlite/dist  
$ make snod

     以上指令完成后,新的基于Berkeley DB SQL的Android系统镜像即编译完毕。系统会打印出新的镜像所在目录,一般来说这个目录是:${root}/out/target/product/generic。

来源:IT168 作者:

免责声明:本文仅代表作者个人观点,与世界朋友网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。

[责任编辑:世界朋友]