升级到Android Studio 3.2.1
后,在编辑AndroidManifest.xml
文件时,我看到文件的<application>
部分以黄色突出显示(可能是由于以下警告)。
我还看到一个名为Merged Manifest
的新标签,其中包含警告:
合并错误:警告activity#com.google.firebase.auth.internal.FederatedSignInActivity@android:launch模式在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'
尽管如此,一切都可以编译并正常运行。
答案 0 :(得分:4)
首先在清单添加项中将以下活动添加到应用程序节点:
<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" />
答案 1 :(得分:1)
我成功地将以下行放入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" />
答案 2 :(得分:0)
问题是由firebase-auth:16.0.5
引入的...
保持先前版本的依赖关系是一种可能的解决方法:
dependencies {
...
//noinspection GradleDependency
api "com.google.firebase:firebase-auth:16.0.4"
}
虽然一个人可能会忽略该警告,但到目前为止尚未发现副作用。
答案 3 :(得分:0)
答案 4 :(得分:0)
打开命令提示符,然后在命令下方键入
const addTogether = (...args) => {
let result = [];
let max = 0;
args.forEach((arg)=>{
max = Math.max(max,arg.length)
})
for(let j=0;j<max;j++){
result[j]= 0
for (let i = 0; i < args.length; i++) {
if(args[i][j])
result[j]+= args[i][j]
}
}
return result
}
console.log(addTogether([1, 2, 3], [4, 5], [6]))
答案 5 :(得分:-1)
我有同样的问题。这不是由于Firebase造成的。
我创建了一个名为register_rest_route('wp/v2', 'users/register', array(
'methods' => 'POST',
'callback' => 'wc_rest_user_reg_ep_handler',
));
的新启动器图标。生成的2个文件my_launcher
和my_launcher.xml
出错。
就我而言,它没有为my_launcher_round.xml
标签找到@mipmap/ic_launcher_background
。我将其删除,重建工作正常。
答案 6 :(得分:-2)
弄清楚是什么原因造成的!
由于警告,整个<application>...</application>
部分被突出显示
我能够通过添加该行来解决此问题
<application
..
tools:ignore="GoogleAppIndexingWarning"
..>
..
</application>
或者,您可能想从URL添加链接-有关更多信息,请参见enter link description here
https://stackoverflow.com/users/8278273/vinit-poojary,希望对您有所帮助。