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。