01/10/2025 10:53:05

问题描述

腾讯移动推送 Vivo 渠道打包报错 图片描述

问题原因

在 TPNS Vivo 插件内部,有两个配置需要使用 place holder 技术处理

<meta-data
    android:name="com.vivo.push.api_key"
    android:value="${VIVO_APPKEY}" />
<meta-data
    android:name="com.vivo.push.app_id"
    android:value="${VIVO_APPID}" />

MSDK 继承这一逻辑,但是追加了 tools:replace="android:value"

<meta-data
    tools:replace="android:value"
    android:name="com.vivo.push.app_id"
    android:value="${VIVO_APPID}" />
<meta-data
    tools:replace="android:value"
    android:name="com.vivo.push.api_key"
    android:value="${VIVO_APPKEY}" />

一般情况下, Gradle 会自动覆盖(replace),但是在引擎侧因打包环境问题,可能出现兼容问题

解决方案

1.检查 Gradle 配置 检查项目中的 manifestPlaceholders 配置是否正常且生效

android {
    compileSdkVersion xxx

    defaultConfig {
        applicationId "com.tencent.itop.example"
        minSdkVersion xxx
        targetSdkVersion xxx
        ...
        manifestPlaceholders = [
                VIVO_APPID: '1234567',
                VIVO_APPKEY: 'c1f4ef5149e0863ac3b2xxxxxxxxxx'
        ]
    }
}

2.删除 MSDK 信鸽插件中的配置 删除 MSDK 信鸽插件中 AndroidManifest.xml 配置

<meta-data
    tools:replace="android:value"
    android:name="com.vivo.push.app_id"
    android:value="${VIVO_APPID}" />
<meta-data
    tools:replace="android:value"
    android:name="com.vivo.push.api_key"
    android:value="${VIVO_APPKEY}" />

注意:如果是 aar 信鸽插件,可以改后缀 .aar -> .zip,解压后操作 AndroidManifest.xml 文件,然后在压缩成 zip 文件后改回后缀为 .aar

注意事项

打包 APK 后,需要确保 APK 内的配置是正常的。如:使用 Android Studio 打开 APK,参考配置如下 图片描述



Copyright © 2025 MSDK.
All rights reserved.

results matching ""

    No results matching ""