193

I'm getting a gradle error at building since yesterday - it just came randomly....

Full stacktrace here:

My project depends on multiple libraries and it built without any problems until yesterday (even with the librarys)

compile 'com.google.android.gms:play-services:3.1.36'
compile 'com.android.support:support-v4:13.0.0'
compile project(":libs:DatabaseCreationHelper")
compile project(":libs:actionbarsherlock")

Anyone has an idea how to fix it? it just randomly came... Full stacktrace here:

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':ItchyFeet:processDebugManifest'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
at org.gradle.api.internal.changedetection.state.CacheLockReleasingTaskExecuter$1.run(CacheLockReleasingTaskExecuter.java:35)
at org.gradle.internal.Factories$1.create(Factories.java:22)
at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:179)
at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:232)
at org.gradle.cache.internal.DefaultPersistentDirectoryStore.longRunningOperation(DefaultPersistentDirectoryStore.java:142)
at org.gradle.api.internal.changedetection.state.DefaultTaskArtifactStateCacheAccess.longRunningOperation(DefaultTaskArtifactStateCacheAccess.java:83)
at org.gradle.api.internal.changedetection.state.CacheLockReleasingTaskExecuter.execute(CacheLockReleasingTaskExecuter.java:33)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:58)
at org.gradle.api.internal.tasks.execution.ContextualisingTaskExecuter.execute(ContextualisingTaskExecuter.java:34)
at org.gradle.api.internal.changedetection.state.CacheLockAcquiringTaskExecuter$1.run(CacheLockAcquiringTaskExecuter.java:39)
at org.gradle.internal.Factories$1.create(Factories.java:22)
at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:124)
at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:112)
at org.gradle.cache.internal.DefaultPersistentDirectoryStore.useCache(DefaultPersistentDirectoryStore.java:134)
at org.gradle.api.internal.changedetection.state.DefaultTaskArtifactStateCacheAccess.useCache(DefaultTaskArtifactStateCacheAccess.java:79)
at org.gradle.api.internal.changedetection.state.CacheLockAcquiringTaskExecuter.execute(CacheLockAcquiringTaskExecuter.java:37)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:57)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:41)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:51)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:52)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:42)
at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:282)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.executeTask(DefaultTaskPlanExecutor.java:48)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.processTask(DefaultTaskPlanExecutor.java:34)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:27)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:89)
at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:29)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61)
at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)
at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:67)
at org.gradle.api.internal.changedetection.state.TaskCacheLockHandlingBuildExecuter$1.run(TaskCacheLockHandlingBuildExecuter.java:31)
at org.gradle.internal.Factories$1.create(Factories.java:22)
at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:124)
at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:112)
at org.gradle.cache.internal.DefaultPersistentDirectoryStore.useCache(DefaultPersistentDirectoryStore.java:134)
at org.gradle.api.internal.changedetection.state.DefaultTaskArtifactStateCacheAccess.useCache(DefaultTaskArtifactStateCacheAccess.java:79)
at org.gradle.api.internal.changedetection.state.TaskCacheLockHandlingBuildExecuter.execute(TaskCacheLockHandlingBuildExecuter.java:29)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61)
at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)
at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:67)
at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:54)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:166)
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:113)
at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:81)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:64)
at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:33)
at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:24)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:35)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)
at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:50)
at org.gradle.api.internal.Actions$RunnableActionAdapter.execute(Actions.java:171)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:201)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:174)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:170)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:139)
at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
at org.gradle.launcher.Main.doAction(Main.java:48)
at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
at org.gradle.launcher.Main.main(Main.java:39)
at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:50)
at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:32)
at org.gradle.launcher.GradleMain.main(GradleMain.java:26)
Caused by: java.lang.RuntimeException: Manifest merging failed. See console for more info.
at com.android.builder.AndroidBuilder.doMerge(AndroidBuilder.java:475)
at com.android.builder.AndroidBuilder.mergeLibraryManifests(AndroidBuilder.java:461)
at com.android.builder.AndroidBuilder.processManifest(AndroidBuilder.java:301)
at com.android.builder.AndroidBuilder$processManifest.call(Unknown Source)
at com.android.build.gradle.tasks.ProcessAppManifest.doFullTaskAction(ProcessAppManifest.groovy:65)
at com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(IncrementalTask.groovy:71)
at org.gradle.api.internal.BeanDynamicObject$MetaClassAdapter.invokeMethod(BeanDynamicObject.java:216)
at org.gradle.api.internal.BeanDynamicObject.invokeMethod(BeanDynamicObject.java:122)
at org.gradle.api.internal.CompositeDynamicObject.invokeMethod(CompositeDynamicObject.java:147)
at com.android.build.gradle.tasks.ProcessAppManifest_Decorated.invokeMethod(Unknown Source)
at org.gradle.util.ReflectionUtil.invoke(ReflectionUtil.groovy:23)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:217)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:210)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:199)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:526)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:509)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
... 67 more
Lukas Olsen
  • 5,294
  • 7
  • 22
  • 28

44 Answers44

157

Found the solution to this problem:

gradle assemble -info gave me the hint that the Manifests have different SDK Versions and cannot be merged.

I needed to edit my Manifests and build.gradle file and everything worked again.


To be clear you need to edit the uses-sdk in the AndroidManifest.xml

<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="16" />

and the android section, particularly minSdkVersion and targetSdkVersion in the build.gradle file

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 16
    }
}
kero
  • 10,647
  • 5
  • 41
  • 51
Lukas Olsen
  • 5,294
  • 7
  • 22
  • 28
  • 1
    Make sure you edit your gradle.build file on the case you're using Android Studio. Values on AndroidManifest.xml are overriden during build! – Diego Acosta Jul 17 '13 at 00:22
  • @Nakardo changing the values in `build.gradle` do not override the values on my `AndroidManifest.xml` when executing `gradle assemble` – Nimrod Dayan Sep 13 '13 at 07:17
  • 2
    @Nakardo The build.gradle `sdkVersion` always override the `AndroidManifest.xml` Android docs quote: This minSdkVersion value is not used; it is always overridden by the value specified in the Gradle build script The value of (for example) minSdkVersion is only used if it is not specified in the build.gradle build scripts. When specified in the Gradle build scripts, the manifest value is ignored and can be misleading, so should be removed to avoid ambiguity. – Chad Bingham Dec 07 '14 at 02:27
  • @Lukas Olsen spot on solution. My minsdk version was 19 but in gradle it was 10, still not needed for targetSDK in build.gradle although its declared in the manifest. Interestingly, I just updated my android studio to 2.1.1 and it was working previously. Problem fixed now. – natur3 Jun 01 '16 at 00:58
  • As a follow up, the error returned actually because I had a duplicated meta data tag pulling the application ID from strings.xml for use with parse. No parse related errors but that meta data caused the crash, I actually didnt see this error detail until I opened the gradle console tab in android studio v. 2.1.1 – natur3 Jun 01 '16 at 01:05
  • it works, thank you very much, +1 :) fyi, for android studio 4.2.2 no need to add anything in Manifest file, just use the gradle – Mang Jojot Mar 26 '22 at 01:47
153

In a general way, to see what is the error, you can see the merged Manifest File in Android studio

Go on your manifest file

enter image description here

Click on the bottom tab "Merged Manifest"

enter image description here

On the right screen, in "Other Manifest Files", check for any error due to graddle :

enter image description here

Kevin ABRIOUX
  • 16,507
  • 12
  • 93
  • 99
36

I wish the Lukas Olsen solution works for other scenarios, But in my case is quite different.

I faced the same while add ActionBarShelock to project, by comparing to the older library I found that application tag is missing in manifest. By adding one line I fixed my issue.

</application>
Parag Chauhan
  • 35,760
  • 13
  • 86
  • 95
vinay kumar
  • 1,451
  • 13
  • 33
  • First time it was du to SDK versions, but now it due to `` missing. You saved me, thx. – Benjamin Toueg Aug 15 '13 at 18:25
  • This was my case too! – cesards Oct 16 '14 at 17:38
  • @Ahmad Ali Nasir but in my case i follow Lukas Olsen but no change can u help me bro – Manoj Dec 03 '14 at 13:22
  • @Manoj sure, but please share your build.grade script and the error log, so we all can have a better understanding to what you might be doing wrong. – Ahmad Ali Nasir Dec 04 '14 at 05:48
  • @Ahmad Ali Nasir sure bro i had posted a question here have a lot at it http://stackoverflow.com/questions/27266042/the-command-line-is-too-long-error-in-dexdebugtest-build-task/27276428#27276428 – Manoj Dec 04 '14 at 05:58
25

i solved by putting this one line in application tag...

tools:node="replace"

AndroUser
  • 572
  • 1
  • 5
  • 10
17

This appears to occur because Google Play Services require Android 2.2, which is SDK version 8.

In build.gradle, make sure your minSdkVersion is at least 8. The default appears to be 7. So you have something like this:

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 16
    }
}

dependencies {
    compile 'com.android.support:support-v4:13.0.+'
    compile 'com.google.android.gms:play-services:3.1.36'
}
mjibson
  • 16,852
  • 8
  • 31
  • 42
  • This fixed my Manifest issue but now I get Gradle: error: cannot find symbol for any of my symbol variables. This happened to me once before when I had a compile error and fixed it. I started getting these issues. Any clue how to fix this? – Dan Aug 16 '13 at 04:08
  • Fixed it, looks like Gradle added a import android.R to my main activity. I deleted the line and all is well now. – Dan Aug 16 '13 at 04:18
12

I also faced this error when I was adding firebase push notifications in my app. but in my case I was doing a very silly mistake which i noticed after some time. I declared below code in manifest two times. After removing duplicate declaration. my issue solved.

        <service   android:name="com.evampsaanga.mytelenor.firebase.MyFirebaseInstanceIDService">
        <intent-filter>
            <action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
        </intent-filter>
    </service>`

so you also check if there is anything duplicate in your app manifest file.

Developine
  • 12,483
  • 8
  • 38
  • 42
5

If you add dependencies such as ActionBarSherlock by Gradle,
carefully set your targetSdkVersion 17 or above.

Below quote is --info logs when ActionBarSherlock mismatch with private project.

[C:\Me\Documents\GitHub\project\AndroidManifest.xml:3, C:\Me\Documents\GitHub\project\build\exploded-bundles\ComActionbarsherlockActionbarsherlock440.aar\AndroidManifest.xml:2] Main manifest has but library uses targetSdkVersion='17'
:testApp:processDebugManifest FAILED

It would be better that maintains own project targetSdkVersion as newest as possible.

Youngjae
  • 24,352
  • 18
  • 113
  • 198
  • Thanks for the `--info`, I was stuck and managed to get to the problem by running `./gradlew assemble --info`. In my case, I declared gles version 2 on my main manifest, but I didn't on the library project. If you dont declare it, it defaults to version 1 and that was the cause of the error (imcompatibility). – Orgmir Mar 10 '14 at 11:50
5

Maybe it's because of duplicate Activity declaration in your manifest.

hov.terteryan
  • 758
  • 6
  • 16
4

I came across the same problem and what I did to fix it was to add

tools:replace="android:icon"

to element at AndroidManifest to override

RicNjesh
  • 583
  • 10
  • 16
4

It could be a duplicate permission added in the manifest file. In my case "uses-permission android:name="android.permission.READ_PHONE_STATE" was repeated.

Rajath
  • 92
  • 3
4

Just add these two lines at "gradle.properties":

android.useAndroidX=true
android.enableJetifier=true
Kike Gamboa
  • 994
  • 7
  • 8
  • 6
    this can't be it, I already had those lines in `gradle.properties` and did not start getting this error until I tried to run it in a Windows OS environment. – Daniel Sep 17 '19 at 19:54
4

In the manifest, add property android:exported="true" to the launcher activity tag

Edit (14th April 2022)

  • If you have multiple manifest files (eg.debug and release) make sure the android.name property is mentioned in both
m'hd semps
  • 564
  • 4
  • 14
3

For what I can see, if you have a multi-module project with Android Studio and gradle, the IDE try to merge manifest files from every module into a Main manifest.

If you have a module A and a module B, and in the A manifest you declare some activity from B module, gradle will enconter a issue when merging.

Try removing cross-module reference in manifest files.

Paolo M
  • 12,403
  • 6
  • 52
  • 73
  • i just want to run the test cases i am using android studio in which i had multiple project A & B with common library for both it dosen't run causes dexdebugTest error followed "Lukas Olsen" but no change can u help me – Manoj Dec 03 '14 at 13:29
  • @ Paolo M i just want to run the test cases i am using android studio in which i had multiple project A & B with common library for both it dosen't run causes dexdebugTest error followed "Lukas Olsen" but no change can u help me – Manoj Dec 03 '14 at 13:29
3

2 things you need to add to AndroidManifest.xml:

1st: add xmlns:tools="http://schemas.android.com/tools" to manifest tag

<manifest xmlns:android=".........
   package="...........
   xmlns:tools="http://schemas.android.com/tools">

2nd: Add tools:replace="icon" to application tag

<application
       android:icon=.........
       android:label=.......
       tools:replace="icon">
Petter Friberg
  • 21,252
  • 9
  • 60
  • 109
Null
  • 482
  • 5
  • 3
3

In my case,

I define the activity twice in manifest file

 <application
  android:allowBackup="false"
  android:label="@string/app_name"
  >


      <activity
        android:name="com.xxx.ActivityOne"
        android:configChanges="orientation|screenSize"
        android:windowSoftInputMode="stateHidden|adjustResize" />

      //Problem here.. same activity twice define

      <activity
        android:name="com.xxx.ActivityOne"
        android:configChanges="orientation|screenSize"
        android:windowSoftInputMode="stateHidden|adjustResize" />

     </application>

After remove the duplicate error solved.

Ranjithkumar
  • 16,071
  • 12
  • 120
  • 159
3

In my case...I was targetting API 31. In the newer API you have to explicitly declare exported=true or exported=false on activities and receivers so that other apps can launch them i.e if you have any intent-filters you should declare "exported=true".

exported info

ToxicAbe
  • 173
  • 1
  • 11
2

I had the same problem and none of the other answers helped.

In my case, a comment in the manifest file was the culprit:

<manifest [...]
    android:installLocation="auto">
    <!-- change installLocation back to external after test -->

    <uses-sdk [...]

(This might be a bug, seeing how comments in other areas of the manifest dont cause any problems.)

jaynetics
  • 1,234
  • 12
  • 15
2

Found another possible solution for this when trying to update my Urban Airship to the latest version. In my top-level build.gradle file the code looked like:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.12.2'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

by default as generated by Android Studio. I changed this to a later gradle version by replacing this with:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.13.+'
    }
}

And after that the project would build.

PaperThick
  • 2,749
  • 4
  • 24
  • 42
  • Something like this was my problem also! I had repositories { mavenCentral() } in build.gradle, removing this solved the problem. – David May 31 '16 at 11:29
2

I came across similar problem ,when I run

cordova build android

which report errors:

 /home/app/phonegap/helloworld/platforms/android/AndroidManifest.xml:15:5 Error:
uses-sdk:minSdkVersion 7 cannot be smaller than version 10 declared in library  /home/app/phonegap/helloworld/platforms/android/build/intermediates/exploded-aar/android/CordovaLib/unspecified/debug/AndroidManifest.xml
Suggestion: use tools:overrideLibrary="org.apache.cordova" to force usage

:processDebugManifest FAILED

FAILURE: Build failed with an exception.

  • What went wrong: Execution failed for task ':processDebugManifest'.

    Manifest merger failed : uses-sdk:minSdkVersion 7 cannot be smaller than version 10 declared in library /home/app/phonegap/helloworld/platforms/android/build/intermediates/exploded-aar/android/CordovaLib/unspecified/debug/AndroidManifest.xml Suggestion: use tools:overrideLibrary="org.apache.cordova" to force usage

In my case,

uses-sdk:minSdkVersion 7 cannot be smaller than version 10 declared

,above solution do not work! but I solve them by replace

<preference name="android-minSdkVersion" value="7" />

as

<preference name="android-minSdkVersion" value="10" />

in this two file /home/app/phonegap/helloworld/config.xml , /home/app/phonegap/helloworld/platforms/android/res/xml/config.xml

Emery Yan
  • 21
  • 2
2

This error might be because of an attribute left empty in the manifest file (AndroidManifest.xml).

An example:

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:logo="@drawable/ic_actionbar"
    android:supportsRtl="true"
    android:fullBackupContent=""> <!--THIS Line-->
...
</application>

The fullBackupContent is empty in the above example.

When it's changed to android:fullBackupContent="true" it will be fixed.

Phani Rithvij
  • 4,030
  • 3
  • 25
  • 60
2

For Manifest merger failed: Apps targeting Android 12

add android:exported="true"

<activity android:name=".MainActivity"
            android:exported="true"
            >
Shomu
  • 2,734
  • 24
  • 32
1

Try changing:

<manifest xmlns:android="http://schemas.android.com/apk/res/android">
...
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="16" />

To:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">
...
<uses-sdk xmlns:tools="http://schemas.android.com/tools"
    android:minSdkVersion="14" android:targetSdkVersion="16" />
swooby
  • 3,005
  • 2
  • 36
  • 43
1

if you are using android studio you should run the android studio through the command prompt(in windows) or terminal(in UNIX base OS) so you can see more detail about this error in command prompt window.

Mohammad Reza Norouzi
  • 5,899
  • 1
  • 16
  • 18
  • You can specify any gradle command line option from the Gradle Settings dialog that is opened by pressing the last button on the Gradle tab in the IDE, so there is no real need to resort to the command line. However, the amount of shit we have to put up with using this build tool is really unbelievable. – Giulio Piancastelli Jun 18 '15 at 09:08
1

I had these error since I didnt have the required SDK version installed. After downloading and installing the SDK version present in build.gradle/Android Manifest file, it got resolved.

Fenil
  • 1,194
  • 10
  • 11
1

In my case, it was because of duplicate permission in my Manifest file and minSDKVersion of library was greater than minSDKVersion of my project. I just made that minSDKVersion equal and compiled with success.

Noman
  • 4,049
  • 10
  • 38
  • 59
1

This Issue is raise because of compileSdkVersion 26 buildToolsVersion "26.0.0" or compile 'com.android.support:appcompat-v7:26.+'

instead of this use compileSdkVersion 25 buildToolsVersion "25.0.3" compile 'com.android.support:appcompat-v7:25.+'

1

In my case I had written the tag twice. That was my only mistake It was before code`

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

    <uses-permission android:name="android.permission.RECORD_AUDIO"/>


<application tools:targetApi="28" tools:ignore="GoogleAppIndexingWarning" android:networkSecurityConfig="@xml/react_native_config" />




<application application tools:targetApi="28" tools:ignore="GoogleAppIndexingWarning" android:networkSecurityConfig="@xml/react_native_config" >

</application>

`

Just removing the application tag solved my problem.

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

    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>



    <application tools:targetApi="28" tools:ignore="GoogleAppIndexingWarning" android:networkSecurityConfig="@xml/react_native_config" />



</manifest>

The points you should have only one tag; can have more than one and , but one tag. That's what I know at this moment :)

muhammad tayyab
  • 727
  • 7
  • 18
1

Maybe you have some duplicated Activities

Like this:

<activity android:name=".register.RegisterStepsActivity" />

....

<activity android:name=".register.RegisterStepsActivity" />

just comment one of them

Williaan Lopes
  • 1,177
  • 15
  • 11
1

This is an answer for those who are experiencing a similar error while trying to run their Flutter app. To their credit, I discovered this by following Kevin ABRIOUX's answer.

My original error was:

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':app:processDebugManifest'.
> Failed to query the value of task ':app:processDebugManifest' property 'mainMergedManifest'.
   > Could not create task ':app:processDebugMainManifest'.
      > java.lang.NullPointerException (no error message)

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 6s
Exception: Gradle task assembleDebug failed with exit code 1
Exited (sigterm)
  1. Open the android directory in Android Studio.
  2. Once the studio fully loads and the "Project" pane has content, you should be able to run your VSC debugger.

In my particular case I have a secret that gets referenced by android/app/build.gradle. If you are missing such a secret from android/local.properties then step 2. is going to fail. Thankfully, it will give you an error that will point to the missing variable. Save any such variable to the file, close the studio, and repeat step 2. again.

Good luck and happy coding!

James B. Nall
  • 1,398
  • 3
  • 16
  • 27
0

I met the problem in another reason.

I was building app in Android Studio, and I had a app module and another module. App module depended on the other module.

But part of build.gradle of app module is :

<application
    android:allowBackup="false"
    android:label="@string/app_name"
    android:supportsRtl="true">

    ...

</application>

while the other module's build.gradle part is:

<application
    android:allowBackup="true"
    android:label="Android Lua"
    android:supportsRtl="true">

</application>

So, I change the module's build.gradle part to:

<application
    android:allowBackup="false"
    android:label="@string/app_name"
    android:supportsRtl="true">

</application>

Problem solved.

MewX
  • 4,232
  • 1
  • 29
  • 38
0

Duplication declaration of same activity in Android Manifest file.

Nicks
  • 3,188
  • 3
  • 25
  • 29
0
compile 'com.github.wenchaojiang:AndroidSwipeableCardStack:0.1.1'

If this is the dependency you have added then change it to:

compile 'com.github.wenchaojiang:AndroidSwipeableCardStack:0.1.4'

and make sure that target sdk should not be less then 15.

Satan Pandeya
  • 3,747
  • 4
  • 27
  • 53
0

In my case I had into the manifest file an invalid tag structure, I had an opened activity closed but inside it where were ore activities (...) which invalidates file correctness, to find it it took quite two hours, error reported missing/unknown <activity>.

Saurabh Bhandari
  • 2,438
  • 4
  • 26
  • 33
Andrea Leganza
  • 447
  • 7
  • 7
0

I solved this problem in Android Studio 3.5 by cleaning and rebuilding project.

Just click to Build -> Rebuild Project.

Siarhei Kavaleuski
  • 1,450
  • 14
  • 15
0

I had

tools:replace="android:allowBackup"

in my AndroidManifest.xml file.

I have got the exact information in merged manifest section.

enter image description here

After removing it the error got resolved.

amit pandya
  • 1,384
  • 13
  • 22
0

In my case I took the code from React Native Android Docs I added the

+   <uses-permission tools:node="remove" android:name="android.permission.READ_PHONE_STATE" />
+   <uses-permission tools:node="remove" android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+   <uses-permission tools:node="remove" android:name="android.permission.READ_EXTERNAL_STORAGE" />

but forgot the part I should add to manifest xmlns:tools="http://schemas.android.com/tools"

After I add problem solved. Think that there is someone miss the same line like me.

Have a nice day!

msalihbindak
  • 592
  • 6
  • 21
0

The error happened to me while installing the "React-Native-Image-Picker" library. I was able to solve it like this:

Error:

> Task :app:processDebugManifest FAILED

I accessed this path which appeared to me in the complete error:

..\node_modules\react-native-image-picker\android\build\intermediates\library_manifest\debug\AndroidManifest.xml

When reviewing the file I identified the versions requested by the library:

<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="29" />

I modified in /android/app/build.gradle the following lines of code:

android {
     ...
    defaultConfig {
        ...
        minSdkVersion 21
        targetSdkVersion 29
    }
}
Dharman
  • 30,962
  • 25
  • 85
  • 135
0

Go to Files>Project structure>project and upgrade the gradle version. I had this problem. after that, I have upgraded my gradle 6.5 to 6.8. now its perfectly normal.

0

My solution was to delete Java folders completely from the computer and install fresh ones. And I mean delete the java folders manually from the roots otherwise some java cache will remain.

My bug was caused by android studio update.

good luck ya all

petras J
  • 2,538
  • 3
  • 16
  • 23
0

My problem was solved after adding android:exported="true" on android.intent.category.LAUNCHER Activity

 <activity
        android:name=".MainActivity"
        android:exported="true"> // Add this line
        <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
</activity>
Monzur
  • 1,341
  • 14
  • 11
0

task :app:processdebugmainmanifest failed

Don't Need to Do anything just uninstall Npm.

npm uninstall

And again Install Npm.

npm install

in the App directory like ("C:\Users\Username\directory\YourAppDirectory") near to the app.js file. This is processer following in react native Then check Your npm Version. These errors came in my app because there were some files that were not installing, make sure all files install successfully. Don't use

Npm install -g or any things like that at time of install npm

Don't lose hope!

Bhavesh Sharma
  • 161
  • 1
  • 5
0

I was getting the same error while running my script in Android Studio. I had a mismatch of Java versions.

What I did, and it perfectly worked for me, is entering the command below in my terminal:

 export JAVA_HOME="/Applications/AndroidStudio.app/Contents/jre/jdk/Contents/Home"

 echo $JAVA_HOME

After running the command above, now run your script, you will not get any error.

PS - to find Android Studio's JAVA_HOME path, go to File -> Project Structure

Ethan
  • 876
  • 8
  • 18
  • 34
0

The solution to the Execution failed for task :app:processDebugMainManifest’ in React Native Android project for JDK 16, 17, and above is to add the following line in the ./android/gradle.properties file in your project:

org.gradle.jvmargs=--add-opens java.base/java.io=ALL-UNNAMED

The line above stops existing Gradle instances if some are already running, and the easiest way to do that would be to restart your OS.

Deni Al Farizi
  • 1,547
  • 1
  • 8
  • 5
-1

In my context I removed the comment in manifest.xml and it worked.

yubaraj poudel
  • 3,821
  • 1
  • 31
  • 28