Skip to content

资源包配置

本章节说明如何为不同 OEM 项目配置定制化的 Configuration 包。SDK 支持各 OEM 集成专属的 Configuration AAR,以替换默认配置,实现 UI 定制、地图样式及各业务模块参数的差异化。

概述

不同 OEM 项目使用不同的 Configuration 包。该包是统一的定制入口,同时包含

内容 说明
地图资源 地图渲染所需的样式、纹理等资源,供 MapView(地图引擎)使用
其它模块的配置 例如播报等各业务模块的配置项(参数、开关、业务规则等)

Configuration 包名因项目而异(例如 telenav-android-configuration-oem),请以项目交付包为准。

替换默认 Configuration

集成 OEM 定制 Configuration 时,需用项目专属 AAR 替换 SDK 默认 Configuration,并确保 OEM 配置在依赖解析与资源合并时具有更高优先级。

Gradle 配置

  1. 引入 OEM 定制 Configuration AAR(本地或私有仓库)。
  2. 在依赖 MapView、Navigation 等模块时,排除 SDK 自带的默认 Configuration 包。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
dependencies {
    // OEM 定制 Configuration(示例包名,以项目交付为准)
    implementation(name: "telenav-android-configuration-oem", ext: "aar")

    // MapView:排除默认 Configuration
    implementation("com.telenav.sdk:telenav-android-mapview-r28c:${tasdk_version}") {
        exclude group: "com.telenav.sdk", module: "telenav-android-configuration-r28c"
    }
    implementation("com.telenav.sdk:telenav-android-navigation-r28c:${tasdk_version}") {
        exclude group: "com.telenav.sdk", module: "telenav-android-configuration-r28c"
    }

}

若使用本地 AAR,需在 repositories 中声明 flatDir:

1
2
3
4
5
repositories {
    flatDir {
        dirs "libs"
    }
}

并将 OEM Configuration AAR 放入 libs 目录。

优先级说明

  • OEM Configuration 必须覆盖 SDK 默认配置,否则地图样式、UI 定制及各 Service 配置均不会生效。
  • 通过 exclude 移除默认 telenav-android-configuration-${ndkSuffix},仅保留 OEM 包,可避免类与资源冲突。

注意事项

  • OEM Configuration 应与当前 SDK 版本、ndkSuffix(例如 r28c)匹配,具体以项目发布说明为准。
  • 更换 Configuration 包后,建议执行 Clean Build,并验证地图显示、UI 样式及各业务模块配置是否符合预期。
  • 若配置未生效,请检查是否已对全部相关依赖执行 exclude,以及 OEM AAR 是否被正确打包进 APK。