清单合并失败,出现多个错误,请参阅日志

时间:2016-09-12 06:01:10

标签: android android-manifest

首先,我是Android新手, 我已经将一个eclipse项目导入android studio。在构建项目时,它显示此错误

  

“错误:任务执行失败':app:processDebugManifest'。> Manifest合并失败并出现多个错误,请参阅日志”

我的代码如下,

的AndroidManifest.xml

 <?xml version="1.0" encoding="UTF-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.my.app" android:versionCode="3" android:versionName="1.2">
    <supports-screens android:resizeable="true" />
    <supports-screens android:smallScreens="true" />
    <supports-screens android:normalScreens="true" />
    <supports-screens android:largeScreens="true" />
    <supports-screens android:anyDensity="true" />
    <!-- Permission - Internet Connect -->
    <uses-permission android:name="android.permission.INTERNET" />
    <!-- Network State Permissions -->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <!-- Allows the API to access Google web-based services. -->
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
    <!-- Allows the API to cache map tile data in the device's external storage area. -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <!-- Keeps the processor from sleeping when a message is received. -->
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.CALL_PHONE" />
    <uses-feature android:glEsVersion="0x00020000" android:required="true" />


 <!--
        Creates a custom permission so only this app can receive its messages.
        NOTE: the permission *must* be called PACKAGE.permission.C2D_MESSAGE,
           where PACKAGE is the application's package name.
        -->
    <permission android:name="com.my.app.permission.C2D_MESSAGE" android:protectionLevel="signature" />
    <uses-permission android:name="com.my.app.permission.C2D_MESSAGE" />
    <!-- This app has permission to register and receive data message. -->
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <uses-permission android:name="android.permission.CALL_PHONE" />
    <application android:name="com.my.app.util.HotelApp" android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@android:style/Theme.Black.NoTitleBar">
        <activity android:name="com.my.app.activity.SplashActivity" android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden|screenSize" android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="com.my.app.activity.HomeActivity" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden|screenSize" />
        <activity android:name="com.my.app.activity.CategoryActivity" android:screenOrientation="portrait" />
        <activity android:name="com.my.app.activity.ContactUSActivity" android:screenOrientation="portrait" />
        <activity android:name="com.my.app.activity.LeisuresActivity" android:screenOrientation="portrait" />
        <activity android:name="com.my.app.activity.LeisureActivity" android:screenOrientation="portrait" />
        <activity android:name="com.my.app.activity.PromosActivity" android:screenOrientation="portrait" />
        <activity android:name="com.my.app.activity.ReservationActivity" android:screenOrientation="portrait" />
        <activity android:name="com.my.app.activity.AboutUsActivity" android:screenOrientation="portrait" />
        <activity android:name="com.my.app.activity.ReservationContinueActivity" android:screenOrientation="portrait" />
        <activity android:name="com.my.app.activity.BookTableActivity" android:screenOrientation="portrait" />
        <activity android:name="com.my.app.activity.AccommodationsActivity" android:screenOrientation="portrait" />
        <activity android:name="com.my.app.activity.CorporatesActivity" android:screenOrientation="portrait" />
        <activity android:name="com.my.app.activity.GuestServicesActivity" android:screenOrientation="portrait" />
        <activity android:name="com.my.app.activity.PhotoGalleryActivity" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden|screenSize" />
        <activity android:name="net.hockeyapp.android.UpdateActivity" android:screenOrientation="portrait" />
        <!--<meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />
        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="AIzaSyDAk_PM9Ce-z_9onkItz4aSahE1AGSBKDo" />-->
        <!--
          BroadcastReceiver that will receive intents from GCM
          services and handle them to the custom IntentService.

          The com.google.android.c2dm.permission.SEND permission is necessary
          so only GCM services can send data messages for the app.
        -->
        <receiver android:name="com.google.android.gcm.GCMBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND">
            <intent-filter>
                <!-- Receives the actual messages. -->
                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
                <!-- Receives the registration id. -->
                <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
                <category android:name="com.my.app" />
            </intent-filter>
        </receiver>
        <!--
          Application-specific subclass of GCMBaseIntentService that will
          handle received messages.

          By default, it must be named .GCMIntentService, unless the
          application uses a custom BroadcastReceiver that redefines its name.
        -->
        <service android:name=".GCMIntentService" />
    </application>
</manifest>

和build.gradle如下

android {
compileSdkVersion 23
buildToolsVersion "24.0.2"

defaultConfig {
    applicationId "com.stgeorge.hotel"
    minSdkVersion 8
    targetSdkVersion 19
}

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
    }
}

}

我已经尝试了其他解决方案提供的堆栈溢出但没有工作

6 个答案:

答案 0 :(得分:69)

从清单

您可以看到错误日志。检查图像

File Helpers

答案 1 :(得分:5)

从清单文件中删除sdk配置,在android studio中我们只需要在build.gradle中定义
并将compileSdkVersion和buildToolVersion更改为您的目标sdk或将目标sdk更改为23

注意: - compileSdkVersion和buildToolVersion应属于同一API级别

答案 2 :(得分:2)

我只是删除了清单中活动代码中的空/未使用的意图过滤器,从而解决了这个问题。

答案 3 :(得分:0)

如果您添加了服务,则可能会发生这种情况-Android Studio 自动添加了

<service
        android:name=".nameofyourclass"

,如果您添加了您要创建的另一行<service,那就是冲突。检查每个文件是否有重复服务。

答案 4 :(得分:-1)

此问题是由于Manifest文件或build.gradle文件中的问题引起的。你可以查看我的帖子 https://wordpress.com/post/dhingrakimmi.wordpress.com/23

答案 5 :(得分:-1)

错误:任务&#39;:app:processDebugManifest&#39;。&gt;执行失败清单合并失败,出现多个错误,请参阅日志

最好的解决方案是检查: - [i] Android清单文件。要添加的重复或错误文件。 [ii] Gradle文件检查最新版本是兼容的还是其他版本可用所以安装Build Sdk接下来 - &gt;安装完成 完成程序的运行。

检查布局文件是Recources不可用。