Après la mise à niveau vers Android Studio 3.2.1
, lors de la modification du fichier AndroidManifest.xml
, ma section <application>
du fichier est surlignée en jaune (probablement à cause du message d'avertissement ci-dessous) . Je vois également un nouvel onglet intitulé Merged Manifest
qui contient l'avertissement:
Erreurs de fusion: Avertissement activity#com.google.firebase.auth.internal.FederatedSignInActivity@Android: le mode de lancement a été marqué sur AndroidManifest.xml: 24 pour remplacer d'autres déclarations mais aucune autre déclaration présente le manifeste principal de l'application (ce fichier), ligne 23
Des questions:
Ce nouvel onglet est-il nouveau dans AS 3.2.1? Ou apparaît-il depuis qu'AS 3.2.1 trouve un nouvel avertissement que la version précédente ne l'a pas?
Quel est l'avertissement? Dois-je ajouter une activité dans le fichier AndroidManifest.xml pour Firebase de mon application pour une raison quelconque?
Comment je le répare?
(Remarque: il y avait probablement une mise à jour de Firebase à peu près au même moment.)
Firebase est à jour à l'heure actuelle.
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'
Tout compile et fonctionne bien malgré cela.
Ajoutez d’abord l’activité suivante au nœud d’application dans les ajouts au manifeste:
<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" />
Puis ajoutez ce qui suit au 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" />
le problème a été introduit avec firebase-auth:16.0.5
...
conserver cette dépendance à la version précédente est une solution de contournement possible:
dependencies {
...
//noinspection GradleDependency
api "com.google.firebase:firebase-auth:16.0.4"
}
bien que l'on puisse éventuellement ignorer cet avertissement, aucun effet secondaire n'a été signalé jusqu'à présent.