- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Spatialite for Android编译及测试_2012-11-09
Spatialite for Android编译及测试产品研究与技术推广部 崔福东Spatialite for Android介绍Sqlite是一款短小精悍的数据库,在Android、IOS等都有支持。Spatialite是基于Sqlite的扩展,增加了对空间数据的支持,可以按照OGC的Simple Feature Access标准存取空间数据,可参考http://www.gaia-gis.it/gaia-sins/spatialite-sql-3.0.0.htmlhttp://www.gaia-gis.it/gaia-sins/spatialite-sql-3.0.0.html。Spatialite for Android(/p/spatialite-android/p/spatialite-android)则是为Android平台提供的Spatialite实现,用于在Android平台上使用空间数据库。Spatialite使用C++开发,Spatialite for Android包括两方面内容:使用Android NDK对Spatialite进行编译,生成.so库文件;在Android平台通过JNI调用相关接口,进行封装。Spatialite for Android编译安装Cygwin目前,在单纯的Windows环境下还不能进行NDK编译,需要借助于Linux环境。Cygwin是一个为Windows操作系统提供Linux环境的软件。官方下载地址:/setup.exe,CSDN下载地址:/detail/arcgis_mobile/4737414。具体安装过程不再说明。安装Android NDKNDK需要单独安装,r8版本官网下载地址,r7版本(r8版本体积超过CSDN上传限制)CSDN下载地址:。将NDK直接解压缩至某一目录,并将该目录添加到环境变量Path中。添加完成后,在cmd中运行ndk-build,如果出现下图的信息,则说明安装成功。下载Spatialite for Android首先安装Git,官方下载地址:/downloads,CSDN下载地址:/detail/arcgis_mobile/4733383。然后获取Spatialite for Android源代码,如下图所示:Spatialite for Android源码包含三部分:spatialite-android,这是个测试工程;spatialite-android-library,这是核心内容,包含C/C++源码和Java接口封装,主要是编译这个工程;spatialite-android-test,包含一些单元测试。下载geos-3.3.4和proj-4.7.0Spatialite for Android需要geos-3.3.4和proj-4.7.0。geos-3.3.4官网下载地址:/geos/geos-3.3.4.tar.bz2?,CSDN下载地址:/detail/gispace/4738742/detail/gispace/4738742。proj-4.7.0官网下载地址:/proj/proj-4.7.0.tar.gz?,CSDN下载地址:/detail/gispace/4738736。下载完成后,解压缩,将geos-3.3.4和proj-4.7.0两个文件夹拷贝到spatialte-android-library中的jni目录下,如下图所示。需要说明的是,spatialite-android-library所在的目录不能太深,最好放在某个盘符的根目录下,比如D盘的根目录,否则编译过程中会报出“参数列表太长”的错误。至此,编译前的准备工作已经全部完成。编译Spatialite for Android打开Cygwin,进入spatialite-android-library中的jni目录,运行命令 ndk-build –j8。如下图所示。使用Cygwin编译,会遇到一些错误。第一个错误如下图所示,无法找到proj_config.h文件。解决办法是把proj-4.7.0/src/jniproj.c,第一行代码注释掉;然后重新编译;然后会遇到第二个错误,如下图所示。缺少对方法ISNAN的定义。解决办法是为geos-3.3.4/include/geos/platform.h添加ISNAN的定义,如下图所示。重新编译。如果spatialite-android-library所处目录过深,则会遇到第三个问题,如下图所示。解决办法前面已经提到,将spatialite-android-library放到某个盘符的根目录下即可。重新编译。如果一切顺利,在经过一段不短的时间的等待,支持三种cpu的so文件会最终编译成功,如下图所示。至此,编译过程结束。生成的so文件
您可能关注的文档
- 初二英语补习资料.docx
- 新概念lesson28 No parking.doc
- 牛津译林版8A Unit2基础知识练习.doc
- 新视野一-四册汉译英翻译题.doc
- 2008年酒泉市中考英语试题.doc
- 生产运作复习.doc
- 课时提升作业 十四 Module 5 Grammar.doc
- 小学英语现在进行时语法讲解.doc
- 广西2016 届六校第二次联考.doc
- 七年级上册英语unit2教案.docx
- 四川省德阳市罗江中学2025届高三考前热身化学试卷含解析.doc
- 山东省枣庄现代实验学校2025届高三下学期第五次调研考试化学试题含解析.doc
- 吉林省长春市十一高中等九校教育联盟2025届高三一诊考试生物试卷含解析.doc
- 2025届江苏省盐城市伍佑中学高考仿真模拟化学试卷含解析.doc
- 2025届广西贺州中学高考冲刺押题(最后一卷)生物试卷含解析.doc
- 安徽省池州市贵池区2025届高三第一次模拟考试生物试卷含解析.doc
- 宁夏银川一中2025届高三(最后冲刺)化学试卷含解析.doc
- 广东省广州市增城区四校联考2025届高考压轴卷化学试卷含解析.doc
- 2025届邯郸市第一中学高考生物必刷试卷含解析.doc
- 2025届安徽省安庆市石化第一中学高考仿真卷化学试卷含解析.doc
文档评论(0)