Mohammad Faizan
Mohammad Faizan

Reputation: 834

Manifest merger failed with multiple errors, see logs But I Already Use Exported in Every Activity When I update target SDK 31 in Gradle file

Please Help me, to find the error line in the manifest file.

Merging Errors:

Error: android:exported needs to be explicitly specified for . 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. XYZ.app main manifest (this file)

Error: android:exported needs to be explicitly specified for . 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. XYZ.app main manifest (this file)

My Manifest File Code

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.xyz">

    <permission
        android:name="your.package.name.permission.MAPS_RECEIVE"
        android:protectionLevel="signature" />

    <uses-permission android:name="your.package.name.permission.MAPS_RECEIVE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission
        android:name="android.permission.WRITE_EXTERNAL_STORAGE"
        android:maxSdkVersion="28" />
    <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true" />

    <application
        android:name=".other.MyAmplifyApp"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:requestLegacyExternalStorage="true"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.XYZ"
        android:usesCleartextTraffic="true">

        <activity
            android:name=".startingscreens.SplashActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity
            android:name=".timer.MainTimerActivity"
            android:exported="true" />
        <activity
            android:name=".timer.Emom"
            android:exported="true" />
        <activity
            android:name=".timer.Count_down_result"
            android:exported="true" />
        <activity
            android:name=".timer.EMOM_Title_Des"
            android:exported="true" />
        <activity
            android:name=".timer.EMOM_Select_Timer"
            android:exported="true" />
        <activity
            android:name=".timer.Tabata_Title_Des"
            android:exported="true" />
        <activity
            android:name=".timer.Tabata_Select_Timer"
            android:exported="true" />
        <activity
            android:name=".timer.Tabata"
            android:exported="true" />
        <activity
            android:name=".timer.Amrap"
            android:exported="true" />
        <activity
            android:name=".timer.Amrap_Title_Des"
            android:exported="true" />
        <activity
            android:name=".timer.Amrap_Select_Timer"
            android:exported="true" />
        <activity
            android:name=".timer.For_Time"
            android:exported="true" />
        <activity
            android:name=".timer.For_Time_Title_Des"
            android:exported="true" />
        <activity
            android:name=".timer.For_Time_Select_Time"
            android:exported="true" />
        <activity
            android:name=".timer.Count_up_1st_view"
            android:exported="true" />
        <activity
            android:name=".timer.Count_up_title_des"
            android:exported="true" />
        <activity
            android:name=".timer.Count_Down_Title_Des"
            android:exported="true" />
        <activity
            android:name=".timer.Count_down_auto_timmer"
            android:exported="true" />
        <activity
            android:name=".timer.CountUp"
            android:exported="true" />
        <activity
            android:name=".timer.Count_Down"
            android:exported="true" />
        <activity
            android:name=".athlete.EventDetailWithJoinNowActivity"
            android:exported="true" />
        <activity
            android:name=".athlete.LeaderboardActivity"
            android:exported="true" />
        <activity
            android:name=".athlete.createevent.createsubevents.ScoreTableActivity"
            android:exported="true" />
        <activity
            android:name=".athlete.SubEventDetailsActivity"
            android:exported="true" />

        <service
            android:name=".notifications.MyFirebaseMessagingService"
            android:exported="false">
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT" />
            </intent-filter>
        </service>

        <activity
            android:name=".FinalSubmissionActivity"
            android:exported="true" />
        <activity
            android:name=".judge.JudgeEventDetailActivity"
            android:exported="true" />
        <activity
            android:name=".athlete.GiveScoreActivity"
            android:exported="true" />
        <activity
            android:name=".athlete.SportEventActivity"
            android:exported="true" />
        <activity
            android:name=".athlete.EventCreateSuccessActivity"
            android:exported="true" />
        <activity
            android:name=".athlete.EditProfileAtheletActivity"
            android:exported="true" />
        <activity
            android:name=".athlete.ProceedPayActivity"
            android:exported="true" />
        <activity
            android:name=".ViewSubmissionActivity"
            android:exported="true" />
        <activity
            android:name=".EditProfileActivity"
            android:exported="true" />
        <activity
            android:name=".athlete.SubEventActivity"
            android:exported="true" />
        <activity
            android:name=".sidemenu.WalletMangementActivity"
            android:exported="true" />
        <activity
            android:name=".NotificationActivity"
            android:exported="true" />
        <activity
            android:name=".PaymentActivity"
            android:exported="true" />
        <activity
            android:name=".CategoryActivity"
            android:exported="true" />
        <activity
            android:name=".sidemenu.HelpSupportActivity"
            android:exported="true" />
        <activity
            android:name=".judge.JudgeDashboardActivity"
            android:exported="true" />
        <activity
            android:name=".athlete.EventCosting"
            android:exported="true" />
        <activity
            android:name=".sidemenu.FAQActivity"
            android:exported="true" />
        <activity
            android:name=".sidemenu.TermConditionsActivity"
            android:exported="true" />
        <activity
            android:name=".athlete.createevent.AssignedReferreActivity"
            android:exported="true" />

        <provider
            android:name="androidx.core.content.FileProvider"
            android:authorities="com.xyz.android.fileprovider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/provider_path" />
        </provider>

        <activity
            android:name=".athlete.createevent.CreateEventOneActivity"
            android:exported="true" />
        <activity
            android:name=".athlete.createevent.CreateEventActivity"
            android:exported="true" />
        <activity
            android:name=".athlete.TimerActivity"
            android:exported="true" />
        <activity
            android:name=".athlete.EventDetailsActivity"
            android:exported="true" />
        <activity
            android:name=".athlete.dashboard.DashboardActivity"
            android:exported="true" />
        <activity
            android:name=".startingscreens.ResetPasswordActivity"
            android:exported="true" />
        <activity
            android:name=".startingscreens.VerifyActivity"
            android:exported="true" />
        <activity
            android:name=".startingscreens.ForgotPasswordActivity"
            android:exported="true" />
        <activity
            android:name=".startingscreens.RegisterActivity"
            android:exported="true"
            android:windowSoftInputMode="adjustPan" />
        <activity
            android:name=".startingscreens.LoginActivity"
            android:exported="true" />
        <activity
            android:name=".startingscreens.MainActivity"
            android:exported="true" />
        <!-- Google MAP API key -->
        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:exported="true"
            android:value="AIzaSyCq12CH8Xr000000000QJiKjhghcyELqtU" />

    </application>

</manifest>

Screen Shot of Merged Manifest

enter image description here

Upvotes: 0

Views: 611

Answers (1)

snachmsm
snachmsm

Reputation: 19243

check out Merged Manifest tab under opened manifest

enter image description here

this will shows you the "real" manifest of your app, in which you can find more entries comming from libs. this error is probably caused by some, as your manifest is complete and have all exported declarations

Upvotes: 1

Related Questions