INSTALL_PARSE_FAILED_MANIFEST_MALFORMED

Error INSTALL_PARSE_FAILED_MANIFEST_MALFORMED

La etiqueta <intent-filter> se usa para que otras aplicaciones puedan abrir nuestra aplicación por medio de un Intent, normalmente no había problema hasta la versión de Android 11 si la etiqueta del Activity contenía la etiqueta Intent-Filter se tomaba la propiedad android:exported con valor verdadero, sin importar que se incluyera en la etiqueta del Activity

Pero desde la versión de Android 12 y posteriores se necesitara poner explícitamente la propiedad android:exported en verdadero, de no ponerla entonces tendremos el siguiente error.

Error:

Launching 'app' on No Devices.
Installation did not succeed.
The application could not be installed: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED

List of apks:
[0] 'D:\Documentos\DESARROLLO\ANDROID\Random\app\build\outputs\apk\debug\app-debug.apk'
Installation failed due to: 'null'
Retry

Solución:

Como se menciono antes, el ejecutar la aplicación sin la propiedad android:exported en dispositivos Android 11 e inferiores no tendrán problema pero si queremos que nuestra aplicación se ejecute en dispositivos Android 12 y posteriores se tiene que agregar dicha propiedad con valor verdadero

Si se agrega la propiedad con valor falso no marcara error pero no se ejecutará, por lo que tiene que ser verdadero

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

Loading