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

M1 Mac运行Flutter安卓应用报INSTALL_PARSE_FAILED_MANIFEST_MALFORMED求助

报错根因

你触发的是Android 12(API level 31及以上)的系统强制校验规则:所有包含<intent-filter>的组件(Activity、Service、BroadcastReceiver、Content Provider)必须显式声明android:exported属性,标明该组件是否允许其他应用调用,未声明的应用会直接在安装时解析Manifest失败。
你提供的Manifest文件里,MainActivity节点配置了2个<intent-filter>,但没有添加android:exported属性,因此触发了该报错。

解决方案
  • 第一步:修改android/app/src/main/AndroidManifest.xml中的MainActivity配置,添加android:exported="true"属性。由于你的MainActivity包含启动器的intent-filter,需要允许桌面启动器唤起应用,所以属性值必须设为true,修改后的节点参考如下:
<activity
    android:name=".MainActivity"
    android:exported="true"
    android:launchMode="singleTop"
    android:theme="@style/LaunchTheme"
    android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
    android:hardwareAccelerated="true"
    android:screenOrientation="portrait"
    android:windowSoftInputMode="adjustResize">
    <!-- 原有meta-data、intent-filter等配置保持不变即可 -->
</activity>
  • 第二步:排查其他组件的配置
    如果你的项目里自己定义了带<intent-filter>的Service、BroadcastReceiver组件,也需要对应添加android:exported属性:不需要对外暴露的组件设为false,需要对外暴露的组件设为true。
    如果修改后仍报错,大概率是依赖的第三方插件未适配Android 12,可到android/app/build/intermediates/merged_manifest目录下找到合并后的最终Manifest文件,定位报错行对应的组件,将所属插件升级到适配Android 12的版本即可。
  • 第三步:清理缓存重新运行
    执行以下命令清理旧的构建缓存,再重新启动项目即可:
flutter clean
flutter pub get

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 11:45:02