Android Studio错误:&Quot;清单合并失败:面向Android 12&Quot;的应用程序

我已将模拟器版本和Android SDK版本更新为Android S(Android 12)。更新后,我无法运行该项目。我不能运行Hello, World!项目(空项目),但是我可以很好地构建Gradle,但是我不能运行该项目。我总是收到错误:

Manifest合并失败:面向Android 12及更高版本的应用程序 需要为android: exported指定显式值 对应的组件定义了意图过滤。看见 https://developer.android.com/guide/topics/manifest/activity-element#exported 了解详细信息。

我如何修复它?

以下是截图:

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

This question是关于应用解决方案后的问题,与此问题不同。此外,此问题早于this。


解决方案

您需要指定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>

如the document中所述:

如果您的应用程序以Android 12为目标,并且包含活动、服务或 使用意图过滤器的广播接收器,您必须显式 声明这些应用程序组件的android:EXPORTED属性。

警告:如果活动、服务或广播接收器使用意图 筛选,并且没有显式声明的值 Android:已导出,您的应用程序无法安装在运行的设备上 Android%12。

还要check何时对‘android:export’值使用true/false。

相关文章