You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

华为Android Push SDK适配targetSdk 31版本发布时间及适配问题问询

华为Android Push SDK targetSdk 31适配版本说明

支持targetSdk 31的华为Android Push SDK正式版为6.1.0.300版本,已于2022年第一季度正式对外发布,所有高于该版本的Push SDK均已完成Android 12(API 31)的规则适配。

安卓12的系统构建规则强制要求,所有声明了<intent-filter>的四大组件(Activity、Service、BroadcastReceiver、ContentProvider)必须显式标注android:exported属性,未适配的旧版本华为Push SDK内置Manifest组件未声明该属性,因此当应用targetSdk设置为31时会出现编译错误或运行崩溃。

你可以选择以下两种方案解决问题:

  • 方案1(推荐):直接升级华为Push SDK到6.1.0.300及以上版本,SDK内部已经对所有组件默认添加了正确的exported属性配置,无需开发者额外修改SDK相关的Manifest条目即可正常编译运行。
  • 方案2(临时兼容方案,适合暂时无法升级SDK的场景):在项目主AndroidManifest.xml中手动覆盖SDK内未声明exported的组件,补全属性配置,示例配置如下:
<!-- 补全Push SDK内置Receiver的exported属性示例 -->
<receiver
    android:name="com.huawei.hms.push.PushReceiver"
    android:exported="true">
    <intent-filter>
        <action android:name="com.huawei.android.push.intent.REGISTRATION" />
        <action android:name="com.huawei.android.push.intent.RECEIVE" />
        <action android:name="com.huawei.android.push.intent.CLICK" />
    </intent-filter>
</receiver>
<!-- 自定义Push消息接收服务也需要补全属性 -->
<service
    android:name=".YourCustomHmsMessageService"
    android:exported="false">
    <intent-filter>
        <action android:name="com.huawei.hms.push.action.MESSAGING_EVENT" />
    </intent-filter>
</service>

注意:自定义的Push相关组件如果包含<intent-filter>,必须根据实际调用场景设置exported值:仅允许内部/SDK调用的组件设置为false,需要对外暴露给第三方应用调用的设置为true。

内容的提问来源于stack exchange,提问作者Denis A

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 07:21:01