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 百度地图SDK与导航SDK相关问题_第1张图片
导航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'
}

你可能感兴趣的:(Android 百度地图SDK与导航SDK相关问题)