繁体   English   中英

Manifest合并失败:android:exported needs to be explicitly specified for<receiver></receiver>

[英]Manifest merger failed : android:exported needs to be explicitly specified for <receiver>

合并错误:错误:android:需要为元素 <receiver#com.instacart.library.truetime.BootCompletedBroadcastReceiver> 明确指定导出。 针对 Android 12 及更高版本的应用需要为android:exported指定一个明确的值,当相应的组件定义了一个 Intent 过滤器时。 有关详细信息,请参阅https://developer.android.com/guide/topics/manifest/activity-element#exported test.app 主清单(此文件),第 19 行

我什至不知道该怎么办。 我为这个错误挣扎了整整一个星期,但我做不到。

这是我的 sdk 版本

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"
    }

写了android:exported在所有intent-filterserviceprovider上。 啊,我没有这个错误中提到的receiver

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"
}

发现instacart.truetime库的问题。 您使用的是3.4版本,他们在3.5中解决了此错误,如此处所述: https://github.com/instacart/truetime-android/releases/tag/3.5

所以需要将这些依赖更新到3.5的新版本

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

构建应用程序并解决问题

com.instacart.library.truetime.BootCompletedBroadcastReceiver

在清单文件中检查这个....

检查您导入的库是否与您的 android 版本兼容

重建你的项目。

分享你的表现和

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"
    }

对于这个特定问题,您需要做的是 go 到AndroidManifest.xml文件并将 android:exported="false" 添加到所有接收器

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

当 targetSdkVersion = 31 时最有可能遇到此问题

在任何使用 Intent 过滤器的活动中,将行 (android:exported="true") 添加到清单中的每个活动。 如以下示例所示。

<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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM