最近在项目中使用了百度地图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中有一些百度的其他库和第三方库
导航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'
}
网友评论