Слияние манифеста Android не подходит для получателей с одинаковым именем, но с другим контентом

У меня возникла проблема с явным слиянием с дублированными приемниками, но контент отличается. Я использую следующие приемники для разных уровней API, до сих пор не имел проблемы до слияния. Сбой сборки из-за слияния, который говорит

Element receiver#.receivers.UpdateReceiver duplicated with element declared at AndroidManifest.xml:124:9 

Я не хочу создавать другой приемник и продолжать эту схему. Есть ли способ отключить слияние для этих ситуаций или объединить получателей в одном, но с возможностью включения действий с разными намерениями?

 <receiver android:name=".receivers.UpdateReceiver" android:enabled="@bool/is_api_below_12"> <intent-filter> <action android:name="android.intent.action.PACKAGE_REPLACED" /> <data android:scheme="package" /> </intent-filter> </receiver> <receiver android:name=".receivers.UpdateReceiver" android:enabled="@bool/is_api_12_and_above"> <intent-filter> <action android:name="android.intent.action.MY_PACKAGE_REPLACED" /> </intent-filter> </receiver> 

Возможно, вы можете установить

 android { useOldManifestMerger true } 

В вашем файле build.gradle, и это отлично работает в моем проекте, вы можете увидеть более подробную информацию здесь

Вы можете найти, как я исправил вашу ту же проблему в этом ответе . В основном я создал другой класс, но я сделал его статическим внутренним классом, чтобы избежать создания другого файла для обработки общего действия.