Объединенное предупреждение манифеста после обновления Android Studio до версии 3.2.1
После обновления до Android Studio 3.2.1
при редактировании файла AndroidManifest.xml
я вижу раздел <application>
файла, выделенный желтым цветом (предположительно из-за предупреждения ниже). Я также вижу новую вкладку под названием Merged Manifest
которая содержит предупреждение:
Ошибки слияния: Предупреждение Activity#[email protected]d: Режим запуска был помечен на AndroidManifest.xml: 24, чтобы заменить другие объявления, но никакое другое объявление не представляет основной манифест приложения (этот файл), строка 23
Вопросы:
-
Является ли эта новая вкладка чем-то новым в AS 3.2.1? Или он обнаруживается, поскольку AS 3.2.1 обнаруживает новое предупреждение, которого не было в предыдущей версии?
-
О чем предупреждение? Нужно ли мне по какой-то причине добавить активность в мое приложение AndroidManifest.xml для Firebase?
-
Как мне это исправить?
(Примечание: примерно в то же время было, вероятно, обновление 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
Я воспроизвел проблему, если у вас есть пакет с заглавными буквами, пожалуйста, проверьте пакет имен. , чтобы решить эту проблему, сделайте все имена пакетов, которые вы создали, строчными.
Ответ 5
Выяснил, что вызвало это!
Весь раздел <application>...</application>
выделялся из-за предупреждения
Я смог исправить проблему, добавив строку
<application
..
tools:ignore="GoogleAppIndexingWarning"
..>
..
</application>
В качестве альтернативы можно добавить ссылку с URL-адреса - для получения дополнительной информации см. Описание ссылки здесь.
https://stackoverflow.com/users/8278273/vinit-poojary, надеюсь, это вам поможет.