[英]Manifest merger failed : android:exported needs to be explicitly specified for <activity>
[英]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-filter
、 service
和provider
上。 啊,我没有这个错误中提到的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.