web-dev-qa-db-ja.com

Facebookツールを解決する方法:replace = "Android:theme"?

私は持っています

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

私のマニフェスト:

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

コンパイルエラーを解決する方法:

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)AndroidManifestでxmlns:tools="http://schemas.Android.com/tools"要素に<manifest>を追加します

2)tools:replace="Android:theme"を(facebookアクティビティ)<activity>に追加します

ここに私のマニフェストファイルがあります

<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

これを試して。

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

マニフェストで削除

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

facebookActivityで

Edit:Firebaseも使用していますか?その場合は、こちらをご覧ください Androidマニフェストとfacebookおよびfirebaseライブラリとの統合

4
Al Wld

FacebookActivityのマニフェストでthisを使用するだけです

  <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

この行を削除@Android:style/Theme.Translucent.NoTitleBar

これで問題が解決します

0
Manoj Behera