BUG : Manifest merger failed with multiple errors, see logs

这个问题出现的前提是 : RN项目(Android 端),前天运行还好好的,昨天运行突然就over了,(PS : 代码是真的没有修改!)。实在头疼,网上搜了一把,很多说是:manifest资源冲突,但是细看自己的Manifest,确定没有冲突的,就考虑到了,是不是自己RN项目依赖有问题? 又开始了爬坑之路。

BUG描述:

Caused by: java.lang.RuntimeException: Manifest merger failed with multiple errors, see logs
    at com.android.builder.core.AndroidBuilder.mergeManifestsForApplication(AndroidBuilder.java:556)
    at com.android.build.gradle.tasks.ProcessApplicationManifest.doFullTaskAction(ProcessApplicationManifest.java:198)
    at com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(IncrementalTask.java:106)

最终确定问题是support和androidx的依赖冲突:
1:首先在Terminal执行:gradlew :app:dependencies 查看引用AndroidX库:

BUG : Manifest merger failed with multiple errors, see logs_第1张图片
可以看到是implementation "com.google.android.gms:play-services-gcm:+"使用了androidx, 进一步是由于:react-native-device-info组件引用了play-services-gcm。
2:在github搜索:react-native-device-info:
BUG : Manifest merger failed with multiple errors, see logs_第2张图片

证实了该组件使用了Androidx
3: 解决:将最终使用AndroidX的play-services-gcm降低版本,降到之前没使用androidx的版本:

implementation "com.google.android.gms:play-services-gcm:15.0.0"

在此编译,顺利通过。

你可能感兴趣的:(android开发)