开发软件时很多时候会先写一个基础版,然后再打包AAR在各定制版上引用以达到复用的目的。如果在编译的过程中报错“Manifest merger failed”,则除了因为重复声明Application的name,也可能是新的软件Manifest.xml里声明的Application的theme与AAR的Manifest中声明的theme不一致导致的。
错误如下:
java.lang.RuntimeException: Manifest merger failed with multiple errors, see logs
at com.android.build.gradle.internal.tasks.manifest.ManifestHelperKt.mergeManifestsForApplication(ManifestHelper.kt:181)
at com.android.build.gradle.tasks.ProcessApplicationManifest.doFullTaskAction(ProcessApplicationManifest.java:218)
at com.android.build.gradle.tasks.ProcessApplicationManifest.doIncrementalTaskAction(ProcessApplicationManifest.java:324)
at com.android.build.gradle.internal.tasks.IncrementalTask.handleIncrementalInputs(IncrementalTask.kt:111)
at com.android.build.gradle.internal.tasks.IncrementalTask.access$handleIncrementalInputs(IncrementalTask.kt:64)
at com.android.build.gradle.internal.tasks.IncrementalTask$taskAction$$inlined$recordTaskAction$1.invoke(AndroidVariantTask.kt:51)
at com.android.build.gradle.internal.tasks.IncrementalTask$taskAction$$inlined$recordTaskAction$1.invoke(AndroidVariantTask.kt:31)
at com.android.build.gradle.internal.tasks.Blocks.recordSpan(Blocks.java:91)