После обновления до Android Studio 3.2.1 при редактировании файла AndroidManifest.xml я вижу, что мой раздел <application> файла выделен желтым цветом (предположительно, из-за предупреждения ниже).
Я также вижу новую вкладку под названием Merged Manifest, которая содержит предупреждение:
Merging Errors: Warning activity#com.google.firebase.auth.internal.FederatedSignInActivity@android:launch Mode was tagged at AndroidManifest.xml:24 to replace other declarations but no other declaration present app main manifest (this file), line 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'
Несмотря на это, все компилируется и работает нормально.
Нет. Вы тоже испытываете это?
да, получаю такое же предупреждение
Я отправил отчет об ошибке в Firebase (я подозреваю, что проблема заключается в этом, но вполне возможно, что это AS 3.2.1). Если я получу ответ с чем-нибудь полезным, я обновлю это.
Я получил ответ от службы поддержки Firebase, но они не смогли его воспроизвести. Как и следовало ожидать, они хотели бы получить MCVE (stackoverflow.com/help/mcve), но сейчас у меня нет времени на его создание. @Vinit, если вы можете это сделать, не стесняйтесь отправить им один. Номер дела [5-4824000024047] для справки.
У меня такая же проблема. Интересно, будет ли наличие другого манифеста в исходном наборе отладки требованием для воспроизведения проблемы?

Выяснили, что было причиной этого!
Весь раздел <application>...</application> был выделен из-за предупреждения
Мне удалось решить проблему, добавив строку
<application
..
tools:ignore = "GoogleAppIndexingWarning"
..>
..
</application>
В качестве альтернативы можно добавить ссылку из URL-адреса - для получения дополнительной информации см. введите описание ссылки здесь
https://stackoverflow.com/users/8278273/vinit-poojary, надеюсь, это вам поможет.
это неправильное решение, просто отключите предупреждение об индексировании Google
Не всем нужно делать ссылку, так что это решение для этих людей. Кроме того, для тех, кто хочет сделать ссылку, я предоставил ссылку в своем ответе выше о том, как это сделать (введите здесь описание ссылки - url: developer.android.com/studio/write/app-link-indexing).
В конце концов, я сделал индексацию ссылок приложения (см. Ссылку выше), потому что я все равно хотел, чтобы это было для индексации Google.
Сначала добавьте следующее действие к узлу приложения в дополнениях к манифесту:
<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" />
что вы имеете в виду под «узлом приложения в дополнениях манифеста»? Спасибо
<манифест ...> <приложение ...> <activity android: name = "com.example.myapp.MainActivity" ...> </activity> </application> </manifest>
Как и где вы нашли это решение?
Я видел первую часть в другом месте. Зачем вам вторая часть? stackoverflow.com/questions/54577588/…
проблема возникла с firebase-auth:16.0.5 ...
Сохранение этой зависимости в предыдущей версии - возможное решение:
dependencies {
...
//noinspection GradleDependency
implementation "com.google.firebase:firebase-auth:16.0.4"
}
можно игнорировать это предупреждение, пока не заметил никаких побочных эффектов.
Я была такая же проблема. Это было не из-за Firebase.
Я создал новый значок запуска, который назвал my_launcher. В 2 сгенерированных файлах my_launcher.xml и my_launcher_round.xml были ошибки.
В моем случае он не нашел @mipmap/ic_launcher_background для тега background. Я удалил его, и восстановление заработало.
Я заставил его работать, поместив следующую строку в AndroidManifest.xml
<?xml version = "1.0" encoding = "utf-8"?>
<manifest xmlns:android = "http://schemas.android.com/apk/res/android"
xmlns:tools = "http://schemas.android.com/tools" //add this line
...>
и только следующий самозакрывающийся тег активности.
<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" />
откройте командную строку, а затем введите команду ниже
cd android && gradlew clean
Вы нашли какое-либо решение