Firebase 将Android Studio升级到3.2.1后出现合并清单警告
升级到安卓Studio 3.2.1后,在编辑Firebase 将Android Studio升级到3.2.1后出现合并清单警告,firebase,android-studio,android-manifest,Firebase,Android Studio,Android Manifest,升级到安卓Studio 3.2.1后,在编辑AndroidManifest.xml文件时,我看到文件的部分以黄色突出显示(可能是由于下面的警告)。 我还看到一个名为合并清单的新选项卡,其中包含警告: 合并错误:警告活动#com.google.firebase.auth.internal。FederatedSignInActivity@android:在AndroidManifest.xml:24处标记了启动模式,以替换其他声明,但没有其他声明存在于应用程序主清单(此文件)第23行 问题: 这个新
AndroidManifest.xml
文件时,我看到文件的
部分以黄色突出显示(可能是由于下面的警告)。
我还看到一个名为合并清单
的新选项卡,其中包含警告:
合并错误:警告活动#com.google.firebase.auth.internal。FederatedSignInActivity@android:在AndroidManifest.xml:24处标记了启动模式,以替换其他声明,但没有其他声明存在于应用程序主清单(此文件)第23行
问题:
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'
尽管如此,一切都可以正常编译和运行。找到了导致这种情况的原因 整个
我可以通过添加行来解决这个问题
<application
..
tools:ignore="GoogleAppIndexingWarning"
..>
..
</application>
,希望这对您有所帮助。首先在清单添加中向应用程序节点添加以下活动:
<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" />
该问题是通过firebase auth:16.0.5
引入的
将依赖关系保持在以前的版本是一种可能的解决方法:
dependencies {
...
//noinspection GradleDependency
implementation "com.google.firebase:firebase-auth:16.0.4"
}
你可以忽略这个警告,到目前为止没有发现任何副作用。我也有同样的问题。这不是因为Firebase
我已经创建了一个新的启动器图标,我称之为my_launcher
。生成的两个文件my_launcher.xml
和my_launcher\u round.xml
有错误
在我的例子中,它没有为background
标记找到@mipmap/ic\u launcher\u 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
你找到解决办法了吗。你也有这样的经历吗?是的,得到了同样的警告我已经向Firebase提交了一份bug报告(我怀疑问题就在这里,但很可能是3.2.1)。如果我得到一个有用的回复,我会更新这个。我得到了Firebase支持的回复,但他们无法复制。他们希望得到一个可以预期的MCVE(),但是现在我没有时间创建一个@维尼特,如果你能做到这一点,请随时发送给他们。案例编号为[5-4824000024047]供您参考。这不是一个合适的解决方案,您只需禁用谷歌索引警告并非每个人都需要链接,因此它是这些人的解决方案。另外,对于那些想做链接的人,我在上面的回答中提供了如何做的链接(在这里输入链接描述-url:)。最终我做了应用程序链接索引(请参阅上面的链接),因为我想在谷歌索引中这样做。你说的“清单添加中的应用程序节点”是什么意思?谢谢你是怎么找到这个解决方案的?我在其他地方看到了第一部分。你为什么需要第二部分?
cd android && gradlew clean