Android|Android 百度地图SDK与导航SDK相关问题

【Android|Android 百度地图SDK与导航SDK相关问题】最近在项目中使用了百度地图SDK与导航,过程中踩了许多坑,在此记录。

当前Android百度SDK版本V5.2.0,导航SDK版本v4.1.1
问题:Annotation processors must be explicitly declared now. ... - nirvana-network-annotation-0.2.0.jar (project :onsdk_all)
在依赖导航SDK的module的build.gradle中添加
javaCompileOptions { annotationProcessorOptions { includeCompileClasspath = true } }

问题:Program type already present: com.baidu.android.bbalbs.common.util.CommonParam 导航SDK的libs中有一些百度的其他库和第三方库

Android|Android 百度地图SDK与导航SDK相关问题
文章图片
导航SDK中依赖的jar.png
首先删除 galaxy_lite_lbs_v2.0.jar 与 lbsCoreSDK.jar 可解决大部分与地图SDK的冲突,然后根据需要删除重复的其他第三方库,比如RecyclerView、EventBus等
问题:java.lang.UnsatisfiedLinkError: dlopen failed: library "/data/user/0/com.baidu.mapclient.liteapp/lib/libcrypto.so" not found 导航SDK只提供了armeabi下的so库,解决方法是删除项目中除armeabi之外的其他os目录
问题:java.lang.UnsatisfiedLinkError: dlopen failed: "。。。/libs/libBaiduMapSDK_base_v5_2_0.so" is 32-bit instead of 64-bit 在项目的module的build.gradle中添加
ndk { abiFilters 'armeabi' }

    推荐阅读