百度地图使用之初始化问题

时间:2021-08-19 19:48:22
下载了百度地图demo并在手机上成功运行,接下来就像自己写一下试试。 第一步:创建并配置工程(AS 加入jar包和so文件) 第二步:在AndroidManifest中添加开发密钥、所需权限等信息; (1)在application中添加开发密钥;(2)添加所需权限; 第三步,在布局xml文件中添加地图(<com.baidu.mapapi.map.MapView />) 第四步,在应用程序创建时初始化 SDK引用的Context 全局变量:(自己建了一个demoapplication ,同时在manifest中name属性中进行配置) 第五步,创建地图Activity,管理地图生命周期; 运行之后,却报错:android.view.InflateException: Binary XML file line #90: Error inflating class com.baidu.mapapi.map.MapView 以前好像遇到过,应该是初始化的问题 百度了一下,所列举的一些方法都试过了(在demoapplication 加入初始化(在application中添加 地图组件的初始化 代码 SDKInitializer.initialize(this);),so文件拷入项目,自己都加了,还是不行,仍然报错) sourceSets { main { jniLibs.srcDir(['libs']) } } 结合已经成功的项目,在app 的build.gradle中加入以上这段话,程序成功运行,初步估计是因为自己在导入so的过程中没有新建jniLibs以放so文件,而是直接放入project模式下的libs文件夹下。再次新建一个工程测试一下。 再次测试的结果就是:出现此错误的原因就是导入so文件的问题。正确导入方式:进入project模式下,在src/main下新建jniLibs文件夹(directory),把所有的so文件放入次文件夹下;然后把jar包放入libs文件夹下,然后其他按照步骤来就完全可以了。 进行第三次测试:以上方法完全可行,算是解决一个问题了。