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

升级targetSDK至31后出现Manifest合并失败错误求助

解决targetSdkVersion升级到31后的Manifest合并错误

Android 12(API 31)对应用组件的安全性做了强制要求:所有包含<intent-filter>的Activity、Service、BroadcastReceiver必须显式声明android:exported属性,取值为true或false,否则会触发Manifest合并失败。

具体修复步骤:

  • 检查本地Manifest的组件
    打开你的AndroidManifest.xml,找到所有带有<intent-filter>的组件,添加android:exported属性:

    • 主Activity(需要被系统Launcher唤起)设置为true:
      <activity
          android:name=".MainActivity"
          android:exported="true">
          <intent-filter>
              <action android:name="android.intent.action.MAIN" />
              <category android:name="android.intent.category.LAUNCHER" />
          </intent-filter>
      </activity>
      
    • 仅内部使用的组件(无需外部应用调用)设置为false。
  • 处理第三方库的适配问题
    部分老旧第三方库可能未适配API 31,缺少android:exported属性。可以在本地Manifest中覆盖对应组件的属性,示例:

    <service
        android:name="com.example.library.SomeService"
        android:exported="false"
        tools:node="merge" />
    

    tools:node="merge"用于确保合并时保留你的配置。

  • 查看详细错误日志定位问题
    若仍未解决,打开Android Studio底部的Build窗口,找到Manifest Merger的详细日志,日志会明确指出哪个组件存在问题,针对性修改即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 18:50:25