web-dev-qa-db-fra.com

Comment résoudre les outils Facebook: replace = "Android: theme"?

J'ai

compile 'com.facebook.Android:facebook-Android-sdk:4.16.0'

Mon manifeste:

<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:tools="http://schemas.Android.com/tools"
...
    <application
            Android:name=".YandexProvider"
            Android:allowBackup="true"
            Android:icon="@drawable/ic_launcher"
            Android:label="@string/app_name"
            Android:theme="@style/AutoTheme"
            tools:replace="Android:theme">

Comment résoudre les erreurs de compilation:

Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : Attribute activity#com.facebook.FacebookActivity@theme value=(@Android:style/Theme.Translucent.NoTitleBar) from AndroidManifest.xml:69:13-72
    is also present at [com.facebook.Android:facebook-Android-sdk:4.16.0] AndroidManifest.xml:32:13-63 value=(@style/com_facebook_activity_theme).
    Suggestion: add 'tools:replace="Android:theme"' to <activity> element at AndroidManifest.xml:66:9-70:47 to override.
46
NickUnuchek

1) Ajouter xmlns:tools="http://schemas.Android.com/tools" à <manifest> element sur AndroidManifest

2) Ajouter tools:replace="Android:theme" à (activité facebook) <activity>

Voici mon fichier manifeste

<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
    package="com.company.product" xmlns:tools="http://schemas.Android.com/tools">

    ...

    <application
      Android:allowBackup="true"
      Android:label="@string/app_name"
      Android:icon="@mipmap/ic_launcher"
      Android:theme="@style/AppTheme"
      Android:name="MyApplication">
      <activity
        Android:name=".MainActivity"
        Android:label="@string/app_name"
        Android:screenOrientation="portrait"
        Android:configChanges="keyboard|keyboardHidden|orientation|screenSize">
        <intent-filter>
            ...
        </intent-filter>
      </activity>

      <!--FacebookActivity-->
      <activity
        tools:replace="Android:theme"
        Android:name="com.facebook.FacebookActivity"
        Android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
        Android:label="@string/app_name"
        Android:theme="@Android:style/Theme.Translucent.NoTitleBar"/>

        ...

      </application>

</manifest>
90

Essaye ça.

 <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" />

Remplacer par

  <activity
            Android:name="com.facebook.FacebookActivity"
            Android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
            Android:label="@string/app_name"
            Android:theme="@style/com_facebook_activity_theme" />
5
Jignesh Goyani

Dans votre manifeste, supprimez

Android:theme="@Android:style/Theme.Translucent.NoTitleBar"

dans le FacebookActivity

Edit: Utilisez-vous également firebase? Si oui, regardez ici fusion du manifeste Android avec les bibliothèques facebook et firebase

4
Al Wld

Vous devez simplement utiliser ceci dans votre manifeste pour l'activité Facebook

  <activity Android:name="com.facebook.FacebookActivity"
            Android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
            tools:replace="Android:theme"
            Android:theme="@Android:style/Theme.Translucent.NoTitleBar"
            Android:label="@string/app_name" />
2
Viking93

supprimer cette ligne @Android: style/Theme.Translucent.NoTitleBar

cela résoudra votre problème

0
Manoj Behera