1. ホーム
  2. java

[解決済み] Android Studioのエラーです。"マニフェストのマージに失敗しました。Android 12をターゲットにしたアプリ"

2022-04-26 04:42:36

質問

エミュレータのバージョンとAndroid SDKのバージョンをAndroid Sに更新しました( アンドロイド12 ). アップデート後、プロジェクトが実行できなくなりました。を実行することができません。 ハロー、ワールド プロジェクト(空のプロジェクト)を作成しましたが、Gradleのビルドは同様にできますが、プロジェクトを実行することができません。いつもエラーが出ます。

マニフェストのマージに失敗しました。Android 12以降をターゲットとするアプリは に明示的な値を指定する必要があります。 android: exported の場合 対応するコンポーネントにインテント・フィルタが定義されています。参照 https://developer.android.com/guide/topics/manifest/activity-element#exported をご覧ください。

どうすれば直るのでしょうか?

以下はスクリーンショットです。

Android 12 SDKを使用する場合、この問題を解決するにはどうすればよいですか?

この質問 は、この解決策を適用した後の問題であり、この質問とは異なります。また、この質問は以下のものより古いものです。 これ .

解決方法は?

を指定する必要があります。 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で、アクティビティ、サービス、または ブロードキャストレシーバーでインテント フィルタを使用する場合は、明示的に android: exported 属性を宣言してください。

<ブロッククオート

警告 : アクティビティ、サービス、またはブロードキャストレシーバがインテント フィルタに明示的に宣言された値がなく、かつ android:exported が動作するデバイスにアプリをインストールすることはできません。 Android 12.

また チェック android:exported' 値に true/false を使用する場合。