Объединенное предупреждение манифеста после обновления Android Studio до версии 3.2.1

После обновления до Android Studio 3.2.1 при редактировании файла AndroidManifest.xml я вижу раздел <application> файла, выделенный желтым цветом (предположительно из-за предупреждения ниже). Я также вижу новую вкладку под названием Merged Manifest которая содержит предупреждение:

Ошибки слияния: Предупреждение Activity#[email protected]d: Режим запуска был помечен на AndroidManifest.xml: 24, чтобы заменить другие объявления, но никакое другое объявление не представляет основной манифест приложения (этот файл), строка 23

Вопросы:

  1. Является ли эта новая вкладка чем-то новым в AS 3.2.1? Или он обнаруживается, поскольку AS 3.2.1 обнаруживает новое предупреждение, которого не было в предыдущей версии?

  2. О чем предупреждение? Нужно ли мне по какой-то причине добавить активность в мое приложение AndroidManifest.xml для Firebase?

  3. Как мне это исправить?

(Примечание: примерно в то же время было, вероятно, обновление Firebase.)

Firebase современна в настоящее время.

implementation 'com.google.firebase:firebase-auth:16.0.5'
implementation 'com.google.firebase:firebase-core:16.0.4'
implementation 'com.google.firebase:firebase-crash:16.2.1'

Все компилируется и работает нормально, несмотря на это.

Ответ 1

Сначала добавьте следующее действие в узел приложения в манифесте дополнений:

<activity
    android:name="com.google.firebase.auth.internal.FederatedSignInActivity"
    android:excludeFromRecents="true"
    android:exported="true"
    android:launchMode="singleInstance"
    android:permission="com.google.firebase.auth.api.gms.permission.LAUNCH_FEDERATED_SIGN_IN"
    android:theme="@android:style/Theme.Translucent.NoTitleBar"
    tools:replace="android:launchMode" />

Затем добавьте следующее в Manifest.xml:

<service android:name="com.google.firebase.components.ComponentDiscoveryService" />
<meta-data
    android:name="com.google.firebase.components:com.google.firebase.auth.FirebaseAuthRegistrar"
    android:value="com.google.firebase.components.ComponentRegistrar" />
<meta-data
    android:name="com.google.firebase.components:com.google.firebase.analytics.connector.internal.AnalyticsConnectorRegistrar"
    android:value="com.google.firebase.components.ComponentRegistrar" />
<meta-data
    android:name="com.google.firebase.components:com.google.firebase.iid.Registrar"
    android:value="com.google.firebase.components.ComponentRegistrar" />

Ответ 2

проблема была введена с firebase-auth:16.0.5...

сохранение этой зависимости в предыдущей версии - возможный обходной путь:

dependencies {
    ...

    //noinspection GradleDependency
    implementation "com.google.firebase:firebase-auth:16.0.4"
}

возможно, можно игнорировать это предупреждение, пока не заметил никаких побочных эффектов.

Ответ 3

Я была такая же проблема. Это было не из-за Firebase.

Я создал новую иконку запуска, которую назвал my_launcher. 2 сгенерированных файла my_launcher.xml и my_launcher_round.xml имели ошибки.

В моем случае он не нашел @mipmap/ic_launcher_background для background тега. Я удалил его, и восстановление сработало.

Ответ 4

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

before

after

Ответ 5

Выяснил, что вызвало это!

Весь раздел <application>...</application> выделялся из-за предупреждения

enter image description here

Я смог исправить проблему, добавив строку

<application

      ..

      tools:ignore="GoogleAppIndexingWarning"

      ..>
      ..

</application>

В качестве альтернативы можно добавить ссылку с URL-адреса - для получения дополнительной информации см. Описание ссылки здесь.

https://stackoverflow.com/users/8278273/vinit-poojary, надеюсь, это вам поможет.