Android Studio 错误:“清单合并失败:针对 Android 12 的应用程序”

新手上路,请多包涵

我已将我的模拟器版本和 Android SDK 版本更新为 Android S ( Android 12 )。更新后,我无法运行该项目。我无法运行 _Hello, World!_ 项目(空项目),但我可以构建 Gradle,但我无法运行该项目。我总是得到错误:

清单合并失败:针对 Android 12 及更高版本的应用程序需要为 android: exported 指定显式值,当相应的组件定义了意图过滤器时。有关详细信息,请参阅 https://developer.android.com/guide/topics/manifest/activity-element#exported

我该如何解决?

这是一个屏幕截图:

这是一个屏幕截图。

使用 Android 12 SDK 时如何解决此问题?

这个问题 是关于应用解决方案后的问题,并且与这个问题不同。此外,这个问题比 this 更老。

原文由 DSF.Inc 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 942
2 个回答

您需要指定 android:exported="false"android:exported="true"

显现:

 <activity
    android:name=".MainActivity"
    android:exported="true"
    android:theme="@style/Theme.MyApplication.NoActionBar">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

文件中所述

如果您的应用面向 Android 12 并包含使用 Intent 过滤器的活动、服务或广播接收器,则您必须为这些应用组件显式声明 android:exported 属性。

警告:如果 Activity、服务或广播接收器使用 Intent 过滤器并且没有明确声明的 android:exported 值,则您的应用无法安装在运行 Android 12 的设备上。

还要 检查 何时对“android:exported”值使用真/假。

原文由 Mittal Varsani 发布,翻译遵循 CC BY-SA 4.0 许可协议

在您的清单中,在您的默认启动活动属性中添加 android:exported=“true” 或 android:exported=“false “。

完毕!您可以在 Android 12 上运行您的应用程序。

 <manifest ... >

    <activity
        android:name=".ui.dashboard.DashboardActivity"
        android:screenOrientation="portrait"
        android:exported="true"
        android:theme="@style/AppTheme.Launcher">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</manifest>

根据您的要求设置 android:exported 值。

广播接收器是否可以从其应用程序之外的非系统源接收消息——如果可以则为“true”,否则为“false”。如果为“false”,则广播接收器只能接收系统、同一应用程序的组件或具有相同用户 ID 的应用程序发送的消息。

如果未指定,则默认值取决于广播接收器是否包含 Intent 过滤器。如果接收器包含至少一个意图过滤器,则默认值为“true”。否则,默认值为“false”。

此属性不是限制广播接收器外部暴露的唯一方法。您还可以使用权限来限制可以发送消息的外部实体(请参阅权限属性)。

来自 安卓文档

原文由 Shihab Uddin 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题