背景:这里运行的是“产品入门”的“基于Android studio开发移动GIS程序”的“开发三维移动GIS程序”,本篇对超图帮助文档进行了完善,对于部分用户的闪退问题做出了解决,可以对照超图文档一起学习。
(一)创建工程
(1)在 Android Studio 起始页选择【Create new Project】。
(2)选择项目模板 根据项目实际情况选择对应的模板,点击【Next】。本向导中选择【Phone and Tablet】选项卡中的【Empty Activity】。
(3)配置项目:依次填写项目属性,其中Language 选择【Java】。填写完成后,点击【Finish】。
(二)使用 SuperMap iMobile
(1)添加库文件
库文件在产品包 libs 文件夹下,根据功能需要,从 libs 文件夹中选择需要的库文件拷贝到工程的 libs 文件夹下。这里用到“核心模块库文件 com.supermap.data_v1100.jar”和“三维显示模块库文件 com.supermaprealspace_v1100.jar”。
选中上步中添加的 jar 文件,右键-> add as library,如下图所示
(2)添加 so 依赖
将三维示例要用的的 libimb_v1100.so 文件放入工程的"libs\armeabi-v7a"文件夹中。
这里要注意的一个问题是导入so依赖包的时候,要带着文件夹“armeabi-v7a”一起导入,并且文件夹名称最好是不要改动,后面需要用到。
(这两步中为了省事我把整个libs文件夹替换了)
在 Module 的 build.gradle 添加 jni 的 sourceSets 配置:jniLibs.srcDirs = ['libs'],在 defaultConfig 下 添加 ndk 设置:abiFilters 'armeabi-v7a'。参考代码如下:
android {
compileSdkVersion 28
buildToolsVersion "29.0.3" defaultConfig {
applicationId "com.example.supermapimobile2d" minSdkVersion 23
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
//手动添加
ndk {
abiFilters 'armeabi-v7a' }
}
build