Android App Manifest合并失败了Facebook和Firebase

Muh*_*iri 5 android facebook firebase

我正在开发一个社交应用程序(Facebook和Firebase)。

添加Firebase Gradle路径后,出现以下错误:

Error:Execution failed for task ':app:processDebugManifest'.
Run Code Online (Sandbox Code Playgroud)

清单合并失败:来自AndroidManifest.xml:85:13-72的attribute activity#com.facebook.FacebookActivity@theme value =(@ android:style / Theme.Translucent.NoTitleBar)也出现在[com.firebaseui:firebase-ui -auth:0.6.0] AndroidManifest.xml:69:13-58 value =(@ style / FirebaseUI.Translucent)。建议:在AndroidManifest.xml:81:9-85:75的元素上添加'tools:replace =“ android:theme”'以进行覆盖。

build.gradle 文件:

compile 'com.firebaseui:firebase-ui:0.6.0'
compile 'com.facebook.android:facebook-android-sdk:4.0.0'
Run Code Online (Sandbox Code Playgroud)

主文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.friendture.apps.android.friendture">

<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />

<application
    android:name=".Init"
    android:allowBackup="true"
    tools:replace="android:theme"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="*****" />
    <meta-data
        android:name="com.facebook.sdk.ApplicationId"
        android:value="******" />

    <activity android:name=".Activity.SplashScreenActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".Activity.ProfileActivity"
        android:label="@string/title_activity_profile" />

    <activity
        android:name="com.facebook.FacebookActivity"
        android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.Translucent.NoTitleBar" />
    <activity android:name=".Activity.PasswordActivity" />
    <activity android:name=".Activity.SelectFromListActivity" />
    <activity android:name=".Activity.CompleteFacebookActivity"></activity>
</application>
Run Code Online (Sandbox Code Playgroud)

Som*_*ere 7

自从我们将firebase-ui-auth添加到我们的项目以来,就出现了此错误,如果未正确修复,将导致facebook活动崩溃!

要解决此问题,请更新清单(注意新的“ tools”属性):

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools"
          package="YOUR_PACKAGE">

    <!-- Facebook API Key -->
    <meta-data
        tools:replace="android:value"
        android:name="com.facebook.sdk.ApplicationId"
        android:value="@string/facebook_app_id" />

    <activity
        android:name="com.facebook.FacebookActivity"
        android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
        android:label="@string/app_name"
        android:launchMode="singleInstance"
        android:screenOrientation="portrait"/>
Run Code Online (Sandbox Code Playgroud)


pau*_*l_f 7

Nayan Srivastava 和 MhmdAljobairi 的两个早期答案的组合对我有用:

<meta-data
                android:name="com.facebook.sdk.ApplicationId"
                tools:replace="android:value"
                android:value="@string/facebook_app_id"
        />
Run Code Online (Sandbox Code Playgroud)


Nay*_*ava 0

由于 logcat 响应中已经有提示,只需添加'tools:replace="android:theme"'到您的application节点manifest即可。