TheMelody / OmniMap-Compose

🔥🔥🔥Compose一键集成5大地图平台地图
MIT License
132 stars 16 forks source link

可以增加导航功能集成吗 #27

Closed Yorick-Ryu closed 1 week ago

Yorick-Ryu commented 2 weeks ago

目前集成的百度地图SDK是: 地图组件 com.baidu.lbsyun:BaiduMapSDK_Map:7.6.2 我想在地图上增加导航功能,引入: com.baidu.lbsyun:BaiduMapSDK_Map-AllNavi:7.6.2与库里的BaiduMapSDK_Map冲突, 为了排除BaiduMapSDK_Map,使用以下配置:

    // 百度地图
    implementation(libs.baidu.compose) {
        exclude group: 'com.baidu.lbsyun', module: 'BaiduMapSDK_Map'
    }
    // 基础库
    implementation libs.baidu.lbsyun.base
    // 定位组件
    implementation libs.baidumapsdk.location
    // 检索组件
    implementation libs.baidumapsdk.search
    // 工具组件
    implementation libs.baidumapsdk.util
    // 导航组件
    implementation libs.baidumapsdk.map.allnavi
    // TTS组件
    implementation libs.navitts

结果编译时报错:

2 files found with path 'lib/arm64-v8a/libBaiduMapSDK_map_for_navi_v7_6_2.so' from inputs:
 - D:\androidstudio\.gradle\caches\transforms-4\1202a85b0be1cf68194f53c60a9991fc\transformed\BaiduMapSDK_Map-AllNavi-7.6.2\jni\arm64-v8a\libBaiduMapSDK_map_for_navi_v7_6_2.so
 - D:\androidstudio\.gradle\caches\transforms-4\cf1e9723b1fafba0ae4feb9655790a1c\transformed\carnavi-7.0.0\jni\arm64-v8a\libBaiduMapSDK_map_for_navi_v7_6_2.so
If you are using jniLibs and CMake IMPORTED targets, see
https://developer.android.com/r/tools/jniLibs-vs-imported-targets

Clean、删缓存等操作都用了,无效

TheMelody commented 2 weeks ago

目前集成的百度地图SDK是: 地图组件 com.baidu.lbsyun:BaiduMapSDK_Map:7.6.2 我想在地图上增加导航功能,引入: com.baidu.lbsyun:BaiduMapSDK_Map-AllNavi:7.6.2与库里的BaiduMapSDK_Map冲突, 为了排除BaiduMapSDK_Map,使用以下配置:

    // 百度地图
    implementation(libs.baidu.compose) {
        exclude group: 'com.baidu.lbsyun', module: 'BaiduMapSDK_Map'
    }
    // 基础库
    implementation libs.baidu.lbsyun.base
    // 定位组件
    implementation libs.baidumapsdk.location
    // 检索组件
    implementation libs.baidumapsdk.search
    // 工具组件
    implementation libs.baidumapsdk.util
    // 导航组件
    implementation libs.baidumapsdk.map.allnavi
    // TTS组件
    implementation libs.navitts

结果编译时报错:

2 files found with path 'lib/arm64-v8a/libBaiduMapSDK_map_for_navi_v7_6_2.so' from inputs:
 - D:\androidstudio\.gradle\caches\transforms-4\1202a85b0be1cf68194f53c60a9991fc\transformed\BaiduMapSDK_Map-AllNavi-7.6.2\jni\arm64-v8a\libBaiduMapSDK_map_for_navi_v7_6_2.so
 - D:\androidstudio\.gradle\caches\transforms-4\cf1e9723b1fafba0ae4feb9655790a1c\transformed\carnavi-7.0.0\jni\arm64-v8a\libBaiduMapSDK_map_for_navi_v7_6_2.so
If you are using jniLibs and CMake IMPORTED targets, see
https://developer.android.com/r/tools/jniLibs-vs-imported-targets

Clean、删缓存等操作都用了,无效

你给百度地图平台提个工单,问问这2个SDK的冲突如何解决,是要升级版本还是怎么样

Yorick-Ryu commented 1 week ago

已经解决了,使用手动部署的方式即可解决。 相关配置如下:

dependencies {

    // 手动导入
    implementation files('libs/BaiduLBS_Android.aar')
    implementation files('libs/NaviTts.aar')
    implementation files('libs/onsdk_all.aar')
    implementation files('libs/javapoet-1.9.0.jar')

     implementation libs.androidx.core.ktx

    // 百度地图Compose
    implementation(libs.baidu.compose) {
        exclude group: 'com.baidu.lbsyun', module: 'BaiduMapSDK_Map'
    }

    // 百度导航组件依赖
    implementation libs.androidx.appcompat
    implementation libs.androidx.cardview
    implementation libs.androidx.recyclerview
    implementation libs.androidx.constraintlayout
    implementation libs.androidx.lifecycle.extensions
    implementation libs.androidx.legacy.support.v4
    implementation libs.lottie
    implementation libs.glide

    ...
}