android - java.lang.RuntimeException: Manifest merger failed : uses-sdk element cannot have a "tools:node" attribute -
i getting error again , again error:execution failed task ':quickscroll:processdebugandroidtestmanifest'. > java.lang.runtimeexception: manifest merger failed : uses-sdk element cannot have "tools:node" attribute
i tried using tools:node="merge".
this manifest file
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="musicplayer.player.music.audioplayer.musicplayer" android:hardwareaccelerated="true" android:versioncode="49" android:versionname="3.5"> <uses-permission android:name="android.permission.wake_lock" /> <uses-permission android:name="android.permission.modify_audio_settings" /> <uses-permission android:name="android.permission.write_external_storage" /> <uses-permission android:name="android.permission.internet" /> <uses-permission android:name="android.permission.get_accounts" /> <uses-permission android:name="android.permission.use_credentials" /> <uses-permission android:name="android.permission.access_network_state" /> <uses-sdk tools:node="replace" android:minsdkversion="15" android:targetsdkversion="23" /> <application android:name="musicplayer.player.music.audioplayer.musicplayer.utils.common" android:allowbackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:largeheap="true" > <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <meta-data android:name="com.facebook.sdk.applicationid" android:value="@string/fb_app_id" /> <!-- used google play store campaign measurement --> ; <service android:name="com.google.analytics.tracking.android.campaigntrackingservice" /> <receiver android:name="com.google.analytics.tracking.android.campaigntrackingreceiver" android:exported="true" > <intent-filter> <action android:name="com.android.vending.install_referrer" /> </intent-filter> </receiver> <!-- playing activity --> <activity android:name="musicplayer.player.music.audioplayer.musicplayer.nowplayingactivity.nowplayingactivity" android:exported="true" android:label="@string/now_playing" android:launchmode="singletask" > <intent-filter> <action android:name="android.intent.action.view" /> <category android:name="android.intent.category.default" /> <data android:scheme="content" /> <data android:host="media" /> <data android:mimetype="audio/*" /> <data android:mimetype="application/ogg" /> <data android:mimetype="application/x-ogg" /> <data android:mimetype="application/itunes" /> </intent-filter> </activity> <!-- equalizer activity --> <activity android:name="musicplayer.player.music.audioplayer.musicplayer.equalizeractivity.equalizeractivity" android:exported="true" android:label="@string/equalizer" > </activity> <!-- launcher activity --> <activity android:name="musicplayer.player.music.audioplayer.musicplayer.launcheractivity.launcheractivity" > <intent-filter> <action android:name="android.intent.action.main" /> <action android:name="android.intent.action.music_player" /> <category android:name="android.intent.category.default" /> <category android:name="android.intent.category.launcher" /> <category android:name="android.intent.category.app_music" /> </intent-filter> </activity> <!-- welcome activity --> <activity android:name="musicplayer.player.music.audioplayer.musicplayer.welcomeactivity.welcomeactivity" android:label="@string/app_name" > </activity> <!-- main activity --> <activity android:name="musicplayer.player.music.audioplayer.musicplayer.mainactivity.mainactivity" android:label="@string/app_name" android:theme="@style/apptheme" > </activity> <!-- services --> <service android:name="musicplayer.player.music.audioplayer.musicplayer.services.audioplaybackservice" /> <service android:name="musicplayer.player.music.audioplayer.musicplayer.services.autofetchalbumartservice" /> <service android:name="musicplayer.player.music.audioplayer.musicplayer.services.pingmusicsongsservice" /> <service android:name="musicplayer.player.music.audioplayer.musicplayer.services.buildmusiclibraryservice" android:exported="false" /> <service android:name="musicplayer.player.music.audioplayer.musicplayer.services.dashclockextensionservice" android:icon="@drawable/dashclock_icon" android:label="@string/app_full_name" android:permission="com.google.android.apps.dashclock.permission.read_extension_data" > <intent-filter> <action android:name="com.google.android.apps.dashclock.extension" /> </intent-filter> <meta-data android:name="protocolversion" android:value="2" /> <meta-data android:name="worldreadable" android:value="true" /> <meta-data android:name="description" android:value="@string/dashclock_description" /> </service> <!-- large widget --> <receiver android:name="musicplayer.player.music.audioplayer.musicplayer.widgetproviders.largewidgetprovider" android:label="ace large widget" > <intent-filter> <action android:name="android.appwidget.action.appwidget_update" /> </intent-filter> <meta-data android:name="android.appwidget.provider" android:resource="@xml/large_widget_info" /> </receiver> <!-- blurred widget --> <receiver android:name="musicplayer.player.music.audioplayer.musicplayer.widgetproviders.blurredwidgetprovider" android:label="ace blurred album art widget" > <intent-filter> <action android:name="android.appwidget.action.appwidget_update" /> </intent-filter> <meta-data android:name="android.appwidget.provider" android:resource="@xml/blurred_widget_info" /> </receiver> <!-- album art widget --> <receiver android:name="musicplayer.player.music.audioplayer.musicplayer.widgetproviders.albumartwidgetprovider" android:label="ace album art widget" > <intent-filter> <action android:name="android.appwidget.action.appwidget_update" /> </intent-filter> <meta-data android:name="android.appwidget.provider" android:resource="@xml/album_art_widget_info" /> </receiver> <!-- listens media playback buttons (headphone buttons, bluetooth buttons, etc.) --> <receiver android:name="musicplayer.player.music.audioplayer.musicplayer.broadcastreceivers.headsetbuttonsreceiver" > <intent-filter> <action android:name="android.intent.action.media_button" /> </intent-filter> </receiver> <!-- small widget --> <receiver android:name="musicplayer.player.music.audioplayer.musicplayer.widgetproviders.smallwidgetprovider" android:label="ace small widget" > <intent-filter> <action android:name="android.appwidget.action.appwidget_update" /> </intent-filter> <meta-data android:name="android.appwidget.provider" android:resource="@xml/small_widget_info" /> </receiver> <!-- large widget configuration activity --> <activity android:name="musicplayer.player.music.audioplayer.musicplayer.widgetproviders.largewidgetconfigactivity" > <intent-filter> <action android:name="android.appwidget.action.appwidget_configure" /> </intent-filter> </activity> <!-- small widget configuration activity --> <activity android:name="musicplayer.player.music.audioplayer.musicplayer.widgetproviders.smallwidgetconfigactivity" > <intent-filter> <action android:name="android.appwidget.action.appwidget_configure" /> </intent-filter> </activity> <!-- widget/notification playing activity broadcast receiver --> <receiver android:name="musicplayer.player.music.audioplayer.musicplayer.broadcastreceivers.launchnowplayingreceiver" > <intent-filter> <action android:name="musicplayer.player.music.audioplayer.musicplayer.launch_now_playing_action" /> </intent-filter> </receiver> <!-- widget/notification play/pause broadcast receiver --> <receiver android:name="musicplayer.player.music.audioplayer.musicplayer.broadcastreceivers.playpausebroadcastreceiver" > <intent-filter> <action android:name="musicplayer.player.music.audioplayer.musicplayer.play_pause_action" /> </intent-filter> </receiver> <!-- widget/notification previous broadcast receiver --> <receiver android:name="musicplayer.player.music.audioplayer.musicplayer.broadcastreceivers.previousbroadcastreceiver" > <intent-filter> <action android:name="musicplayer.player.music.audioplayer.musicplayer.previous_action" /> </intent-filter> </receiver> <!-- widget/notification next broadcast receiver --> <receiver android:name="musicplayer.player.music.audioplayer.musicplayer.broadcastreceivers.nextbroadcastreceiver" > <intent-filter> <action android:name="musicplayer.player.music.audioplayer.musicplayer.next_action" /> </intent-filter> </receiver> <!-- stop service broadcast receiver --> <receiver android:name="musicplayer.player.music.audioplayer.musicplayer.broadcastreceivers.stopservicebroadcastreceiver" > <intent-filter> <action android:name="musicplayer.player.music.audioplayer.musicplayer.stop_service" /> </intent-filter> </receiver> <!-- receiver gets called when user changes songs large widget --> <receiver android:name="musicplayer.player.music.audioplayer.musicplayer.broadcastreceivers.changetrackbroadcastreceiver" > <intent-filter> <action android:name="musicplayer.player.music.audioplayer.musicplayer.widget_change_track" /> </intent-filter> </receiver> <!-- main settings activity --> <activity android:name="musicplayer.player.music.audioplayer.musicplayer.settingsactivity.settingsactivity" > </activity> <!-- dummy activity launches fragment dialogs main settings activity --> <activity android:name="musicplayer.player.music.audioplayer.musicplayer.settingsactivity.preferencedialoglauncheractivity" android:label="@string/app_name" android:theme="@style/appthemetransparent" > </activity> <!-- playing queue activity --> <activity android:name="musicplayer.player.music.audioplayer.musicplayer.nowplayingqueueactivity.nowplayingqueueactivity" android:label="@string/now_playing_queue" > </activity> <!-- blacklist manager --> <activity android:name="musicplayer.player.music.audioplayer.musicplayer.blacklistmanageractivity.blacklistmanageractivity" android:label="@string/title_activity_blacklist_manager" > </activity> <!-- music libraries editor activity --> <activity android:name="musicplayer.player.music.audioplayer.musicplayer.musiclibraryeditoractivity.musiclibraryeditoractivity" android:label="@string/music_library_editor" > </activity> <!-- music libraries editor activity --> <activity android:name="musicplayer.player.music.audioplayer.musicplayer.playlisteditoractivity.playlisteditoractivity" android:label="@string/playlists" > </activity> <!-- kitkat fix activity --> <activity android:name="musicplayer.player.music.audioplayer.musicplayer.services.kitkatfixactivity" android:allowtaskreparenting="true" android:alwaysretaintaskstate="false" android:cleartaskonlaunch="true" android:enabled="true" android:excludefromrecents="true" android:finishontasklaunch="true" android:nohistory="true" android:statenotneeded="true" android:theme="@android:style/theme.nodisplay" /> <activity android:name="musicplayer.player.music.audioplayer.musicplayer.browsersublistactivity.browsersublistactivity" android:label="@string/title_activity_browser_sub" > </activity> <activity android:name="musicplayer.player.music.audioplayer.musicplayer.browsersubgridactivity.browsersubgridactivity" android:label="@string/title_activity_browsser_sub_grid" > </activity> </application> </manifest>
and manifest file quickscroll like
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.andraskindler.quickscroll" android:versioncode="2" android:versionname="0.8.1" > <uses-sdk android:minsdkversion="14" android:targetsdkversion="19" /> </manifest>
please me solve this. in advance. using android studio 2.0.0.
you can't use tools:node="replace"
, instead, have use tools:overridelibrary
mentioned in manifest merging markers docs:
<uses-sdk android:minsdkversion="14" android:targetsdkversion="23" tools:overridelibrary="com.example.lib1, com.example.lib2"/>
of course, unless minsdkversion higher minsdkversion (which doesn't seem case here), app's minsdkversion take precedence.
Comments
Post a Comment