Ошибки APK

Manifest merger failed

Текст ошибки

Manifest merger failed with multiple errors, see logs
Attribute application@label value=(App) from AndroidManifest.xml is also present at [lib] value=(Lib).
Suggestion: add 'tools:replace="android:label"' to <application> element

Причина

В AndroidManifest приложения и библиотек один атрибут задан разными значениями. Gradle не может их слить.

Решение по шагам

  1. Прочитай строку «Suggestion» под ошибкой: Gradle сам пишет лекарство.
  2. Добавь xmlns:tools в тег <manifest>.
  3. Навяжи своё значение атрибуту через tools:replace="android:label".
  4. Чтобы отменить разрешение, которое просит другая библиотека, используй tools:node="remove".
  5. На Android 12 и выше у каждой <activity> с intent-filter нужен явный android:exported.

Примеры команд

<manifest xmlns:tools="http://schemas.android.com/tools" ...>
  <application
      android:label="@string/app_name"
      tools:replace="android:label">
  </application>
</manifest>
./gradlew :app:processDebugMainManifest --stacktrace

Как не повторить

После правки манифеста открой вид Merged Manifest: итог показан там.

Автор и лицензия: Nibras Code