'Flutter Android 12 install error when using intent-filter

I'm struggling with the error below.

adb: failed to install F:\xxx\src\FlutterDemoApp\FlutterDemoApp\build\app\outputs\flutter-apk\app.
apk: Failure [INSTALL_PARSE_FAILED_MANIFEST_MALFORMED: Failed parse during installPackageLI: /data/app/vmdl1942767517.tmp/base.apk (at Binary XML file line #102): 

com.dexterous.flutterlocalnotifications.ScheduledNotificationBootReceiver: Targeting S+ (version 31 and above) requires that an explicit value for android:exported be defined when intent filters are present]
Error launching application on Pixel 4 XL.


As I found at Targeting S+ (version 31 and above) requires that an explicit value for android:exported be defined when intent filters are present] and Android Studio error: "Manifest merger failed: Apps targeting Android 12" this is simply a matter of adding android:exported="true" to android/app/src/main/AndroidManifest.xml

But the issue is it is already there in my environment and I still get the error.
Am I missing something else?

enter image description here



Solution 1:[1]

I tried cleaning the project & changing package names to lowercase as advised in the comments. But nothing worked. Below is what worked for me. Hope somebody fined this helpful.

I had to add Multi Dex support to my build.gradle

    defaultConfig {
    applicationId "com.example.demo_app"
    minSdkVersion 19
    targetSdkVersion flutter.targetSdkVersion
    versionCode flutterVersionCode.toInteger()
    versionName flutterVersionName
    multiDexEnabled = true //?This
}

and

dependencies {
implementation("androidx.multidex:multidex:2.0.1")//?This
implementation 'org.altbeacon:android-beacon-library:2.19'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

}

Not exactly sure why this work, but you can read more here https://developer.android.com/studio/build/multidex

Solution 2:[2]

Also make this in note,

Starting from Android 12 (SDK 31) and when using intent-filter, the attribut android:exported must be set explicitly to false or true. Without this attribut the application wouldn't be able to be installed. References:

Resource: (contains the warning about installing an application without this attribut on Android 12 or higher)

When a new flutter project is created the default AndroidManifest.xml should contain this attribute set to true as the intent is a android.intent.category.LAUNCHER:

        <activity
            android:name=".MainActivity"
            android:launchMode="singleTop"
            android:theme="@style/LaunchTheme"
            android:configChanges="..."
            android:hardwareAccelerated="true"
            android:exported="true"        <== SHOULD BE ADDED
            android:windowSoftInputMode="adjustResize">

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Dileepa Rathnayake
Solution 2 Manishyadav