10/27/2025 18:02:31
问题描述
腾讯移动推送 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.
                                
                                All rights reserved.