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

适配Android S+时已设android:exported仍遇安装解析错误求助

解决 INSTALL_PARSE_FAILED_MANIFEST_MALFORMED 安装错误

错误根源

错误并非来自你设置了android:exported="true"的MainActivity,而是flutter_local_notifications插件中的ScheduledNotificationBootReceiver广播接收器未满足Android 12+的要求:所有带有Intent Filter的组件必须显式声明android:exported属性。该插件自带的接收器未配置此属性,导致安装解析失败。

修复步骤

在你的AndroidManifest.xml的<application>标签内,添加以下代码显式配置该接收器:

<application ...>
    <!-- 已有代码保持不变 -->

    <!-- 修复插件接收器的exported属性缺失问题 -->
    <receiver
        android:name="com.dexterous.flutterlocalnotifications.ScheduledNotificationBootReceiver"
        android:exported="true"
        tools:replace="android:exported">
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED"/>
            <action android:name="android.intent.action.MY_PACKAGE_REPLACED"/>
        </intent-filter>
    </receiver>
</application>
  • android:exported="true":由于该接收器需要接收系统开机广播,因此设置为true;若你的应用无需开机触发通知,可设为false并移除对应的<intent-filter>。
  • tools:replace="android:exported":确保覆盖插件自带的接收器配置,避免Manifest合并冲突。

查看所有带Intent Filter的组件

要排查类似组件配置问题,可通过以下方式查看完整的Manifest(包含所有插件添加的组件):

  • Android Studio Merged视图:打开你的AndroidManifest.xml,点击底部的「Merged Manifest」标签,即可看到合并后的所有组件及其配置。
  • 构建后文件:前往build/app/intermediates/merged_manifests/[构建变体]/目录(构建变体如debug),打开AndroidManifest.xml查看完整内容。
  • aapt命令:运行以下命令从APK提取Manifest(需配置Android SDK的build-tools环境变量):
    aapt dump xmltree 你的APK路径 AndroidManifest.xml
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 03:25:02