In questo articolo vedremo come gestire l'errore Manifest merger faild.
Questo errore capita quando impostiamo targetSdkVersion 31 e compileSdkVersion 31 quindi per Android 12 o versione sucessiva.
L'errore è il seguente:
Manifest merger failed : Apps targeting Android 12 and higher are required to specify an explicit value for `android:exported` when the corresponding component has an intent filter defined. See https://developer.android.com/guide/topics/manifest/activity-element#exported for details.
Come mostrato nell'immagine qui sotto La soluzione è questa:
occorre inserire questo elemento all'interno del file AndroidManifest.xml all'interno dell'activity principale.
Ecco come si presenta il file AndroidManifest.xml
Come si può vedere l'elemento indicato è stato inserito alla riga 12 all'interno dell'activity principale.
Questo elemento imposta se l'attività può essere avviata da componenti di altre applicazioni:
Per maggiori dettagli fare riferimento a questa guida.
Questo errore capita quando impostiamo targetSdkVersion 31 e compileSdkVersion 31 quindi per Android 12 o versione sucessiva.
L'errore è il seguente:
Manifest merger failed : Apps targeting Android 12 and higher are required to specify an explicit value for `android:exported` when the corresponding component has an intent filter defined. See https://developer.android.com/guide/topics/manifest/activity-element#exported for details.
Come mostrato nell'immagine qui sotto La soluzione è questa:
occorre inserire questo elemento all'interno del file AndroidManifest.xml all'interno dell'activity principale.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
android:exported = "true" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<manifest xmlns:android="http://schemas.android.com/apk/res/android" | |
package="com.dm.tutorialmanifestmergerfailed"> | |
<application | |
android:allowBackup="true" | |
android:icon="@mipmap/ic_launcher" | |
android:label="@string/app_name" | |
android:roundIcon="@mipmap/ic_launcher_round" | |
android:supportsRtl="true" | |
android:theme="@style/Theme.TutorialManifestMergerFailed"> | |
<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> | |
</application> | |
</manifest> |
Questo elemento imposta se l'attività può essere avviata da componenti di altre applicazioni:
- Se impostato a "true", l'attività è accessibile a qualsiasi app ed è avviabile con il nome esatto della classe.
- Se impostato a "false", l'attività può essere avviata solo da componenti della stessa applicazione, applicazioni con lo stesso ID utente o componenti di sistema privilegiati. Questo è il valore predefinito quando non sono presenti filtri di intenti.
Per maggiori dettagli fare riferimento a questa guida.
Commenti
Posta un commento