eclipse中集成百度地图的项目导入Android studio加入so文件的问题

来源:互联网 发布:罗格朗开关质量 知乎 编辑:程序博客网 时间:2024/05/19 02:25

 刚到一家新公司,之前的项目用的是eclipse开发的,在网android studio转的时候,就遇到了百度地图这方面的问题。我先贴出百度地图官方给出的在不同的开发工具下怎么引用so文件。

开发工具

Android开发工具很多,在这我们推荐各位开发者使用Eclipse和Android Studio作为自己的开发工具。下面我们将分别针对Eclipse和Android Studio介绍一下地图SDK的工程配置方法。

Eclipse工程配置方法

第一步:在工程里新建libs文件夹,将开发包里的baidumapapi_vX_X_X.jar拷贝到libs根目录下,将libBaiduMapSDK_vX_X_X.so拷贝到libs\armeabi目录下(官网demo里已有这两个文件,如果要集成到自己的工程里,就需要自己添加),拷贝完成后的工程目录如下图所示;

1.JPG

第二步:在工程属性->Java Build Path->Libraries中选择“Add External JARs”,选定baidumapapi_vX_X_X.jar,确定后返回。

通过以上两步操作后,您就可以正常使用百度地图SDK为您提供的全部功能了。

注意:由于adt插件升级,若您使用Eclipse adt 22的话,需要对开发环境进行相应的设置,方法如下:

1. 在Eclipse 中选中工程,右键选 Properties->Java Build Path->Order and Export 使 Android Private Libraries处于勾选状态;

2. Project -> clean-> clean all .

Android Studio工程配置方法

第一步:在工程app/libs目录下放入baidumapapi_vX_X_X.jar包,在src/main/目录下新建jniLibs目录,放入libBaiduMapSDK_vX_X_X_X.so如下图所示,注意jar和so的前3位版本号必须一致,并且保证使用一次下载的文件夹中的两个文件,不能不同功能组件的jar或so交叉使用。

第二步:导入jar包。菜单栏选择File->Project Structor->Modules->Dependencies,点击+号,选择File dependency,选择jar包导入。

通过以上两步操作后,您就可以正常使用百度地图SDK为您提供的全部功能了。

应用混淆

集成地图SDK的应用,在打包混淆的时候,需要注意与地图SDK相关的方法不可被混淆。混淆方法如下:

-keep class com.baidu.** {*;}-keep class vi.com.** {*;}    -dontwarn com.baidu.**

保证百度类不能被混淆,否则会出现网络不可用等运行时异常 


*****而官方给出的是在不同的开发工具下的方案,而从eclipse导入到android studio上是eclipse的目录结构,而android studio又是按照他本身的要求去取,这个时候当然取不到。下面我给出具体方案。


在build.gradle中添加下面一段话即可。

sourceSets {    main {        manifest.srcFile 'AndroidManifest.xml'        java.srcDirs = ['src']        resources.srcDirs = ['src']        aidl.srcDirs = ['src']        renderscript.srcDirs = ['src']        res.srcDirs = ['res']        assets.srcDirs = ['assets']        jni.srcDirs = ['src/main/jni', 'src/main/jni/']        jniLibs.srcDirs = ['libs']    }    instrumentTest.setRoot('tests')}


0 0
原创粉丝点击