项目情况:10多年的老项目 使用的还是 2.7版本的高德地图 sdk 这边需要添加新的导航功能但是 新版的导航sdk 无法跟老版本sdk 共存 会出现 “类重复“的问题
解决办法:
1. 删除老版本的地图 sdk 直接添加最新的导航sdk
2. 本项目 不让动老版本的地图sdk 所以 在我这方法1不管用 ,所以 我下载了 高德导航 sdk 1.7 因为高德导航sdk1.90以及以上的 sdk都是包含了 地图sdk 会发生 “类重复” ,然后因为目前手机都是 v8架构 所以 还需要 在 build.gradle (app)里面 添加 下面这句话
ndk { // abiFilters "armeabi-v7a" //arm64-v8a }
这句话的意思是 让手机按照 v7架构去加载 so库 就可以运行了 因为 1.7版本的高德导航sdk不存在 v8架构的 so库
具体代码如下 (我只是截取了build.gradle (app) 里面 android那项的 )
android { compileSdkVersion 29 buildToolsVersion "26.0.3" defaultConfig { applicationId "com.sc.android.navidemo" minSdkVersion 22 targetSdkVersion 28 versionCode 1 versionName "1.0" ndk { // abiFilters "armeabi-v7a" //arm64-v8a abiFilters "armeabi", "armeabi-v7a" } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } compileOptions { targetCompatibility JavaVersion.VERSION_1_8 sourceCompatibility JavaVersion.VERSION_1_8 } ndkVersion '23.0.7599858' }