7

Merging Errors: Error: android:exported needs to be explicitly specified for element <receiver#com.instacart.library.truetime.BootCompletedBroadcastReceiver>. 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. test.app main manifest (this file), line 19

I don't even know what to do. I struggled with this mistake for a whole week, but I couldn't.

Here is my sdk version

compileSdkVersion 32
    defaultConfig {
        multiDexEnabled true
        applicationId "com.example.app"
        minSdkVersion 21
        targetSdkVersion 32
        versionCode 53
        versionName "2.0.4"
        ndk.abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

Wrote android:exported on all intent-filter, service, and provider. Ah, I don't have the receiver mentioned in this error.

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])

    implementation 'androidx.appcompat:appcompat:1.4.1'
    implementation 'com.google.android.material:material:1.5.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.3'

    implementation "com.android.billingclient:billing:4.0.0"

    implementation "com.google.firebase:firebase-messaging:23.0.0"
    implementation "com.google.firebase:firebase-crashlytics:18.2.7"
    implementation "com.google.firebase:firebase-analytics:20.0.2"
    implementation "com.google.firebase:firebase-perf:20.0.4"
    implementation "com.google.firebase:firebase-dynamic-links:21.0.0"

    implementation 'com.google.firebase:firebase-core:20.0.2'
    implementation 'com.google.firebase:firebase-database:20.0.3'
    implementation 'com.google.firebase:firebase-auth:21.0.1'
    implementation 'com.google.firebase:firebase-config:21.0.1'
    implementation "com.facebook.android:facebook-login:9.0.0"
    implementation "com.facebook.android:facebook-share:[5,6)"
    implementation "com.linecorp:linesdk:5.0.1"

    implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.6.10'

    implementation "com.squareup.retrofit2:retrofit:2.8.1"
    implementation "com.squareup.retrofit2:converter-gson:2.8.1"
    implementation 'com.squareup.retrofit2:adapter-rxjava:2.3.0'
    implementation 'com.squareup.okhttp3:logging-interceptor:4.2.1'
    implementation 'io.reactivex:rxandroid:1.2.1'

    implementation 'com.google.code.gson:gson:2.8.6'

    implementation 'com.sun.easysnackbar:easysnackbar:1.0.1'

    implementation 'com.romandanylyk:pageindicatorview:1.0.3@aar'

    implementation 'com.google.android.exoplayer:exoplayer:2.16.1'

    //MULTI DEX
    implementation "androidx.multidex:multidex:2.0.1"

    implementation 'com.google.android:flexbox:2.0.1'

    implementation 'com.github.florent37:diagonallayout:1.0.9'

    implementation('io.socket:socket.io-client:1.0.0') {
        exclude group: 'org.json', module: 'json'
    }

    implementation 'com.github.instacart.truetime-android:library:3.4'
    implementation 'com.github.instacart.truetime-android:library-extension-rx:3.4'

    implementation "androidx.navigation:navigation-fragment-ktx:2.4.0"
    implementation "androidx.navigation:navigation-ui-ktx:2.4.0"

    implementation "com.github.bumptech.glide:glide:4.12.0"
    annotationProcessor "com.github.bumptech.glide:compiler:4.12.0"

    implementation "de.hdodenhof:circleimageview:3.1.0"

    implementation "com.pixplicity.easyprefs:library:1.9.0"

    implementation "com.jakewharton.timber:timber:4.7.1"

    implementation "com.airbnb.android:lottie:3.4.0"

    implementation 'com.github.jinatonic.confetti:confetti:1.1.2'

    implementation "com.nabinbhandari.android:permissions:3.8"

    implementation 'androidx.legacy:legacy-support-v4:1.0.0'

    implementation "com.github.YarikSOffice:lingver:1.2.1"

    implementation 'com.github.mreram:showcaseview:1.2.0'
    implementation 'com.github.shripal17:MaterialIntroView-v2:2.2.0'

    implementation 'com.github.unsplash:unsplash-photopicker-android:1.0.0'

    implementation 'com.giphy.sdk:ui:2.1.0'

    testImplementation 'junit:junit:4.13.2'
    testImplementation 'androidx.test:core:1.4.0'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
    androidTestImplementation "androidx.test.ext:junit:1.1.3"
}
Test
  • 131
  • 1
  • 9

4 Answers4

6

Found the issue with instacart.truetime library. You're using 3.4 version & they resolved this error in 3.5 as mentioned here: https://github.com/instacart/truetime-android/releases/tag/3.5

So you need to update these dependencies to the new version of 3.5

    implementation 'com.github.instacart.truetime-android:library:3.5'
    implementation 'com.github.instacart.truetime-android:library-extension-rx:3.5'

Build the app & it resolves the issue

Mayur Gajra
  • 8,285
  • 6
  • 25
  • 41
  • Thank you very much. You saved my life – Test Feb 07 '22 at 15:45
  • 1
    @Test You're welcome. & one important tip for debugging is when you see that issue is not being caused by your code but some internal library then search for that package & find their GitHub page & go to issues. Most likely you'll find something. – Mayur Gajra Feb 07 '22 at 15:48
  • Thanks, it will definitely be next time. – Test Feb 07 '22 at 15:50
5

For this specific issue what you need to do is go to AndroidManifest.xml file and add android:exported="false" to all the receivers

<receiver android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationActions" android:exported="false" />

Most likely to face this issue when targetSdkVersion = 31

0
com.instacart.library.truetime.BootCompletedBroadcastReceiver

check this in manifest file....

check your lib you imported if they compatible with your android version

Rebuild your project.

share you manifest and

compileSdkVersion 32
    defaultConfig {
        multiDexEnabled true
        applicationId "com.example.app" /// change your app Id not to use example... This will be rejected on play store
        minSdkVersion 21
        targetSdkVersion 32
        versionCode 53
        versionName "2.0.4"
       //comment out this ndk.abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
Raphael
  • 121
  • 11
0

In any activity using intent filters, add the line (android:exported="true") to each activity in the manifest. As in the following example.

<activity android:name=".splashActivity"
        tools:ignore="Instantiatable"
        android:exported="true">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>