Manifest merger failed with multiple errors, see l

2019-02-17 03:46发布

问题:

first of all i am new to Android, i have imported an eclipse project to android studio. On building project it is showing this error

"Error:Execution failed for task ':app:processDebugManifest'. > Manifest merger failed with multiple errors, see logs"

my code is as follows,

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>

and for build.gradle as follows

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'
    }
}

}

i have tried other solutions provided here on stack overflow but none worked

回答1:

from manifest you can see the error log. check the image



回答2:

Remove sdk configuration from manifest file, in android studio we need to define in build.gradle only
and also change compileSdkVersion and buildToolVersion to your targeted sdk or change your target sdk to 23

Note:- compileSdkVersion and buildToolVersion should belongs to same API level



回答3:

I solved this issue by simply removing the empty/unused intent filter inside an activity tag in the manifest.



回答4:

This issue is due to issue in Manifest file or build.gradle file. You can check my post https://wordpress.com/post/dhingrakimmi.wordpress.com/23



回答5:

Error:Execution failed for task ':app:processDebugManifest'.> Manifest merger failed with multiple errors, see logs

It is the best solution is to check :- [i] Android manifest file. duplicate or wrong file to add. [ii]Gradle file to check the latest version is compatible or other version is available so install Build Sdk next ->install and finish To complete run your program.

To check Layout file is Recources not available.