android 高德导航sdk 与老版本的mapsdk 发生类重复解决办法

文章讲述了在10年老项目中升级高德导航SDK时遇到的类重复问题,通过保留老版本地图SDK并针对v8架构调整build.gradle配置(abiFilters),确保新旧SDK共存的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目情况: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'
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值