当遇到Manifest merger failed时,可以打开manifest
就可以看到哪里有问题。
然后看到错误原因是Error: android:exported needs to be explicitly specified for element <activity#com.github.moduth.blockcanary.ui.DisplayActivity>. 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. implayer.app main manifest (this file)
这个问题的原因是在 Android 12(API 31)及以上版本中,要求应用显式声明组件(如 Activity
、Service
、Receiver
)的 android:exported
属性。当组件包含 intent-filter
时,android:exported
必须明确指定为 true
或 false
。
所以在manifest中重写这个activity就能解决