Android Studio 2.2更新后,“:app:processDebugManifest”任务执行失败

13

错误:执行任务“:app:processDebugManifest”失败。

清单合并失败:AndroidManifest.xml 中的 activity#com.facebook.FacebookActivity@theme 属性值(@android:style/Theme.Translucent.NoTitleBar)在行 28:13-72, 同时出现在 [com.facebook.android:facebook-android-sdk:4.16.0] AndroidManifest.xml 的行 32:13-63,属性值为(@style/com_facebook_activity_theme) 建议:在 AndroidManifest.xml 的元素中添加 'tools:replace="android:theme"',位于行 24:9-28:75,以覆盖此属性。


清单文件:

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


    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />


    <application
        android:name="com.test.app.app.AppBaseApplication"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <meta-data
            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:theme="@android:style/Theme.Translucent.NoTitleBar" />

        <activity android:name="com.test.app.ui.activities.WelcomeActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity
            android:name="com.test.engine.reader.view.test5"
            android:label="@string/app_name"
            android:theme="@style/AppTheme"></activity>

        <activity android:name="com.test.app.ui.activities.test1" />
        <activity android:name="com.test.app.ui.activities.test2" />
        <activity android:name="com.test.app.ui.activities.test3" />
        <activity android:name="com.test.app.ui.activities.test4" />
    </application>

</manifest>

你具体尝试了什么?给我们一些信息,否则我们无法帮助你。你的清单是什么样子的等等。 - greenhoorn
展示你的清单? - Arjun saini
@greenhoorn 添加了 manifest.xml 文件。 - Saidur Rahman
@Arjunsaini 添加了 manifest.xml 文件。 - Saidur Rahman
4个回答

42

这不是Android Studio 2.2升级问题,而是昨天发布的FB SDK问题。 目前的解决方案是在build.gradle中恢复到先前的FB SDK:

dependencies {
    // ...
    compile 'com.facebook.android:facebook-android-sdk:4.15.0'
}

这对我有用,将在FB支持的变更日志和错误列表中跟踪,以查看正确的解决方案。


2
我不会回滚到之前的FB SDK版本。自从最新的FB SDK 4.16.1已经包括了android:theme="@android:style/Theme.Translucent.NoTitleBar",最好只是将其删除。 - kimbaudi

17

我同意另一篇回答,但是我想提出另一个解决方案。

保持Facebook确定的主题,通过移除 android:theme="@android:style/Theme.Translucent.NoTitleBar" 并继续使用 compile 'com.facebook.android:facebook-android-sdk:4+'


清单文件:

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

    <activity
            android:name="com.facebook.FacebookActivity"
            android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
            android:label="@string/app_name" />

Facebook希望按照changelog中所述,处理webdialog spinner的主题。

更好地处理webdialog spinner的主题

Ref: https://developers.facebook.com/docs/android/change-log-4.x#4_16_0


3
我认为您的解决方案更好。只需从<activity>中删除android:theme="@android:style/Theme.Translucent.NoTitleBar"并使用最新的FB SDK版本,即4.16.1。您可以在这里找到最新的SDK版本。 - kimbaudi

2
在 build.gradle 文件中添加最新版本的 Facebook SDK 的编译依赖:

compile dependency with the latest version of the Facebook SDK

dependencies {

          compile 'com.facebook.android:facebook-android-sdk:4.16.0' //Or 4.16.1

            }

DeadObjectExceptions 已修复的错误。


1
最新的FB SDK版本现在是4.16.1。 - kimbaudi
@kimbaudi 是的是的。但是 4.16.0 是稳定版。 - IntelliJ Amiya
1
这个链接表明截至2016年10月7日,4.16.1是稳定版本。 - kimbaudi
@kimbaudi 好的。我会使用那个版本。感谢提及。 - IntelliJ Amiya

0

Facebook于2016年9月27日发布了新版本。

https://developers.facebook.com/docs/android/downloads/

大多数 build.gradle 文件会自动选择最新版本(根据安装说明)。似乎 4.16.0 版本存在一些问题,影响了许多用户。在此问题解决之前,可以通过编辑您的 build.gradle 文件来强制使用先前的版本。

 compile ('com.facebook.android:facebook-android-sdk:4.15.0')

我预计 Facebook 很快会解决这个问题,届时您可以将 build.gradle 恢复到最新版本。

3
不,只需使用最新的版本并删除android:theme="@android:style/Theme.Translucent.NoTitleBar",因为最新的FB SDK已经包含了它。 - kimbaudi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接