Gradle: Ausführung für Aufgabe ': processDebugManifest' fehlgeschlagen


142

Ich habe seit gestern einen Gradle-Fehler beim Bauen bekommen - es kam nur zufällig ...

Vollständige Stapelverfolgung hier:

Mein Projekt hängt von mehreren Bibliotheken ab und wurde bis gestern problemlos erstellt (auch mit den Bibliotheken).

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")

Hat jemand eine Idee, wie man das behebt? es kam nur zufällig ... Full Stacktrace hier:

* 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

Antworten:


133

Die Lösung für dieses Problem gefunden:

gradle assemble -info gab mir den Hinweis, dass die Manifeste unterschiedliche SDK-Versionen haben und nicht zusammengeführt werden können.

Ich musste meine Manifests und die build.gradle-Datei bearbeiten und alles funktionierte wieder.


Um klar zu sein, müssen Sie die uses-sdkin der AndroidManifest.xml bearbeiten

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

und den androidAbschnitt, insbesondere minSdkVersionund targetSdkVersionin der Datei build.gradle

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 16
    }
}

1
Stellen Sie sicher, dass Sie Ihre gradle.build-Datei für den Fall bearbeiten, dass Sie Android Studio verwenden. Die Werte auf AndroidManifest.xml werden beim Erstellen überschrieben!
Diego Acosta

@ Nakardo Ändern der Werte in build.gradleüberschreiben nicht die Werte auf meinem AndroidManifest.xmlbei der Ausführunggradle assemble
Nimrod Dayan

1
@Nakardo Das build.gradle sdkVersionüberschreibt immer das AndroidManifest.xmlZitat der Android-Dokumente: Dieser minSdkVersion-Wert wird nicht verwendet. Es wird immer durch den im Gradle-Build-Skript angegebenen Wert überschrieben. Der Wert von (zum Beispiel) minSdkVersion wird nur verwendet, wenn er nicht in den Build-Skripts build.gradle angegeben ist. Wenn in den Gradle-Build-Skripten angegeben, wird der Manifestwert ignoriert und kann irreführend sein. Daher sollte er entfernt werden, um Mehrdeutigkeiten zu vermeiden.
Chad Bingham

@ Lukas Olsen genau richtig. Meine minsdk-Version war 19, aber in gradle war es 10, wird für targetSDK in build.gradle immer noch nicht benötigt, obwohl es im Manifest deklariert ist. Interessanterweise habe ich gerade mein Android Studio auf 2.1.1 aktualisiert und es hat vorher funktioniert. Problem jetzt behoben.
Natur3

Als Folge kehrte der Fehler tatsächlich zurück, weil ich ein dupliziertes Metadaten-Tag hatte, das die Anwendungs-ID aus strings.xml zur Verwendung mit parse abrief. Keine Analysefehler, aber diese Metadaten haben den Absturz verursacht. Ich habe dieses Fehlerdetail erst gesehen, als ich die Registerkarte Gradle-Konsole in Android Studio
Version

125

Um den Fehler zu erkennen, können Sie im Allgemeinen die zusammengeführte Manifestdatei in Android Studio anzeigen

Gehen Sie zu Ihrer Manifestdatei

Geben Sie hier die Bildbeschreibung ein

Klicken Sie auf die untere Registerkarte "Zusammengeführtes Manifest".

Geben Sie hier die Bildbeschreibung ein

Überprüfen Sie auf dem rechten Bildschirm unter "Andere Manifestdateien", ob Fehler aufgrund von Graddle vorliegen:

Geben Sie hier die Bildbeschreibung ein


Du hast meinen Tag gerettet
Abhishek Pachal

34

Ich wünschte, die Lukas Olsen-Lösung funktioniert für andere Szenarien, aber in meinem Fall ist das ganz anders.

Beim Hinzufügen von ActionBarShelock zum Projekt sah ich dasselbe, als ich im Vergleich zur älteren Bibliothek feststellte, dass das Anwendungs-Tag im Manifest fehlt. Durch Hinzufügen einer Zeile habe ich mein Problem behoben.

</application>

Zum ersten Mal war es du zu SDK-Versionen, aber jetzt <application />fehlt es. Du hast mich gerettet, danke.
Benjamin Toueg

Das war auch mein Fall!
Cesards

@ Ahmad Ali Nasir, aber in meinem Fall folge ich Lukas Olsen, aber keine Änderung kann mir helfen, Bruder
Manoj

@Manoj sicher, aber bitte teilen Sie Ihr build.grade-Skript und das Fehlerprotokoll mit, damit wir alle besser verstehen können, was Sie möglicherweise falsch machen.
Ahmad Ali Nasir

@ Ahmad Ali Nasir sicher, Bruder, ich hatte eine Frage hier gepostet, habe viel drauf stackoverflow.com/questions/27266042/…
Manoj

17

Dies scheint darauf zurückzuführen zu sein, dass für Google Play Services Android 2.2 erforderlich ist, bei dem es sich um SDK Version 8 handelt.

In build.gradle, stellen Sie sicher ist Ihr minSdkVersion zumindest 8. Der Standardwert scheint zu sein 7. Sie haben also so etwas:

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

Dies hat mein Manifest-Problem behoben, aber jetzt erhalte ich Gradle: Fehler: Ich kann kein Symbol für eine meiner Symbolvariablen finden. Dies ist mir schon einmal passiert, als ich einen Kompilierungsfehler hatte und ihn behoben habe. Ich fing an, diese Probleme zu bekommen. Irgendwelche Hinweise, wie man das behebt?
Dan

Es wurde behoben, es sieht so aus, als hätte Gradle meiner Hauptaktivität einen Import android.R hinzugefügt. Ich habe die Zeile gelöscht und jetzt ist alles in Ordnung.
Dan

14

Ich habe es gelöst, indem ich diese eine Zeile in das Anwendungs-Tag eingefügt habe ...

tools: node = "ersetzen"


Dies löste mein Problem. Vielen Dank! Ich musste es unter dem applicationTag in derAndroidManifest.xml
Reaz Murshed

Das löste mein Problem nach 30 Minuten Suche
Demon App Programmer

Für mich heißt es, dass das Präfix "tools" für das Attribut "tools: node", das einem Elementtyp "application" zugeordnet ist, nicht gebunden ist.
Amritesh Anand

hat bei mir nicht funktioniert Fehler: Das Präfix "tools" für das Attribut "tools: node", das einem Elementtyp "application" zugeordnet ist, ist nicht gebunden.
Kapil soni

11

Dieser Fehler trat auch auf, als ich Firebase-Push-Benachrichtigungen in meine App einfügte. aber in meinem Fall habe ich einen sehr dummen Fehler gemacht, den ich nach einiger Zeit bemerkt habe. Ich habe den folgenden Code zweimal im Manifest deklariert. Nach dem Entfernen der doppelten Deklaration. Mein Problem wurde gelöst.

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

Sie überprüfen also auch, ob Ihre App-Manifestdatei doppelt vorhanden ist.


Beste Antwort..!!
RUTURAJ Raval

5

Möglicherweise liegt es an der doppelten Aktivitätserklärung in Ihrem Manifest.


5

Wenn Sie Abhängigkeiten wie ActionBarSherlock von Gradle hinzufügen,
legen Sie Ihre targetSdkVersion 17 oder höher sorgfältig fest .

Das folgende Zitat enthält --infoProtokolle, wenn ActionBarSherlock nicht mit dem privaten Projekt übereinstimmt.

[C: \ Me \ Documents \ GitHub \ project \ AndroidManifest.xml: 3, C: \ Me \ Documents \ GitHub \ project \ build \ explodierte-Bundles \ ComActionbarsherlockActionbarsherlock440.aar \ AndroidManifest.xml: 2] Das Hauptmanifest enthält nur eine Bibliothek verwendet targetSdkVersion = '17 '
: testApp: processDebugManifest FAILED

Es wäre besser, das eigene Projekt targetSdkVersionso aktuell wie möglich zu halten.


Vielen Dank für das --info, ich steckte fest und schaffte es, durch Laufen zum Problem zu gelangen ./gradlew assemble --info. In meinem Fall habe ich gles Version 2 in meinem Hauptmanifest deklariert, aber nicht im Bibliotheksprojekt. Wenn Sie es nicht deklarieren, wird standardmäßig Version 1 verwendet, und dies war die Ursache des Fehlers (Inkompatibilität).
Orgmir

4

Ich bin auf dasselbe Problem gestoßen, und was ich getan habe, um es zu beheben, war hinzuzufügen

tools:replace="android:icon"

Element bei AndroidManifest zu überschreiben


4

Es kann sich um eine doppelte Berechtigung handeln, die in der Manifestdatei hinzugefügt wurde. In meinem Fall wurde "Verwendungsberechtigung android: name =" android.permission.READ_PHONE_STATE "wiederholt.


3

Wenn Sie ein Projekt mit mehreren Modulen mit Android Studio und gradle haben, versucht die IDE, Manifestdateien von jedem Modul zu einem Hauptmanifest zusammenzuführen .

Wenn Sie ein Modul A und ein Modul B haben und im A-Manifest eine Aktivität des B-Moduls deklarieren, wird gradle beim Zusammenführen ein Problem feststellen.

Versuchen Sie , die modulübergreifende Referenz in Manifestdateien zu entfernen .


Ich möchte nur die Testfälle ausführen, die ich mit Android Studio verwende, in denen ich mehrere Projekte A & B mit gemeinsamer Bibliothek für beide hatte. Es wird nicht ausgeführt. Der DexdebugTest-Fehler folgt "Lukas Olsen", aber keine Änderung kann mir helfen
Manoj

@ Paolo M Ich möchte nur die Testfälle ausführen, die ich mit Android Studio verwende, in denen ich mehrere Projekte A & B mit gemeinsamer Bibliothek hatte. Beide werden nicht ausgeführt. Dies führt zu einem DexdebugTest-Fehler nach "Lukas Olsen", aber keine Änderung kann mir helfen
Manoj

3

In meinem Fall,

Ich definiere die Aktivität zweimal in der Manifestdatei

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

Nach dem Entfernen des doppelten Fehlers behoben.


Der Punkt ist also, dass <Anwendung> <Aktivität> einmal innerhalb eines <manifest> -Tags definiert werden muss
Muhammad Tayyab

@muhammadtayyab nein .. Ich habe die gleiche Aktivität zweimal definiert. das ist das Problem. Sie können n Nummer <Aktivität> definieren
Ranjith Kumar

2

Ich hatte das gleiche Problem und keine der anderen Antworten half.

In meinem Fall war ein Kommentar in der Manifestdatei der Schuldige:

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

    <uses-sdk [...]

(Dies kann ein Fehler sein, da Kommentare in anderen Bereichen des Manifests keine Probleme verursachen.)


2

Beim Laufen stieß ich auf ein ähnliches Problem

cordova build android

welche Fehler melden:

 /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 FEHLGESCHLAGEN

FAILURE: Build mit einer Ausnahme fehlgeschlagen.

  • Was schief gelaufen ist: Ausführung für Task ': processDebugManifest' fehlgeschlagen.

    Manifest-Fusion fehlgeschlagen: used-sdk: minSdkVersion 7 darf nicht kleiner sein als Version 10, die in library / home / app / phonegap / helloworld / platform / android / build / intermediates / explodiert-aar / android / CordovaLib / unspecified / debug / AndroidManifest deklariert ist. xml Vorschlag: Verwenden Sie tools: overrideLibrary = "org.apache.cordova", um die Verwendung zu erzwingen

In meinem Fall,

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

, obige Lösung funktioniert nicht! aber ich löse sie durch ersetzen

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

wie

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

in dieser zwei Datei /home/app/phonegap/helloworld/config.xml,/home/app/phonegap/helloworld/platforms/android/res/xml/config.xml


2

2 Dinge, die Sie zu AndroidManifest.xml hinzufügen müssen:

1. Fügen Sie xmlns: tools = "http://schemas.android.com/tools" zum Manifest-Tag hinzu

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

2. Tools hinzufügen: replace = "icon" zum Anwendungs-Tag

<application
       android:icon=.........
       android:label=.......
       tools:replace="icon">

1

Versuchen Sie zu ändern:

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

Zu:

<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" />

1

Wenn Sie Android Studio verwenden, sollten Sie Android Studio über die Eingabeaufforderung (in Windows) oder das Terminal (unter UNIX-Basisbetriebssystem) ausführen, damit Sie im Eingabeaufforderungsfenster weitere Details zu diesem Fehler sehen können.


Sie können eine beliebige Gradle-Befehlszeilenoption im Dialogfeld "Gradle-Einstellungen" angeben, das durch Drücken der letzten Schaltfläche auf der Registerkarte "Gradle" in der IDE geöffnet wird, sodass nicht wirklich auf die Befehlszeile zurückgegriffen werden muss. Die Menge an Scheiße, die wir mit diesem Build-Tool ertragen müssen, ist wirklich unglaublich.
Giulio Piancastelli

1

Ich habe eine andere mögliche Lösung dafür gefunden, als ich versucht habe, mein Urban Airship auf die neueste Version zu aktualisieren. In meiner build.gradle-Datei der obersten Ebene sah der Code folgendermaßen aus:

// 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()
    }
}

Standardmäßig wie von Android Studio generiert. Ich habe dies in eine spätere Gradle-Version geändert, indem ich diese durch Folgendes ersetzt habe:

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

Und danach würde das Projekt bauen.


So etwas war auch mein Problem! Ich hatte Repositorys {mavenCentral ()} in build.gradle, das Entfernen des Problems löste das Problem.
David

1

In meinem Fall lag dies an der doppelten Berechtigung in meiner Manifest-Datei, und die minSDKVersion der Bibliothek war größer als die minSDKVersion meines Projekts. Ich habe gerade diese minSDKVersion gleich gemacht und mit Erfolg kompiliert.


1

Dieses Problem tritt aufgrund von compileSdkVersion 26 buildToolsVersion "26.0.0" oder compile 'com.android.support:appcompat-v7:26.+' auf.

Verwenden Sie stattdessen compileSdkVersion 25 buildToolsVersion "25.0.3" compile 'com.android.support:appcompat-v7:25.+'


1

In meinem Fall hatte ich das Tag zweimal geschrieben. Das war mein einziger Fehler. Es war vor dem 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>

`

Das Entfernen des Anwendungs-Tags löste mein 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>

Die Punkte sollten Sie nur ein Tag haben; kann mehr als ein und, aber ein Tag haben. Das weiß ich gerade :)


1

Vielleicht haben Sie einige doppelte Aktivitäten

So was:

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

....

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

kommentiere einfach einen von ihnen


1

Dieser Fehler kann auf ein Attribut zurückzuführen sein, das in der Manifestdatei leer gelassen wurde.

Ein Beispiel:

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

Das fullBackupContent ist im obigen Beispiel leer.

Wenn es geändert wird, android:fullBackupContent="true"wird es behoben.


1

Fügen Sie einfach diese beiden Zeilen bei "gradle.properties" hinzu:

android.useAndroidX=true
android.enableJetifier=true

2
Das kann nicht sein, ich hatte diese Zeilen bereits gradle.propertiesund bekam diesen Fehler erst, als ich versuchte, ihn in einer Windows-Umgebung auszuführen.
Daniel

0

Ich hatte diesen Fehler, da ich nicht die erforderliche SDK-Version installiert hatte. Nach dem Herunterladen und Installieren der SDK-Version in der Datei build.gradle / Android Manifest wurde das Problem behoben.


0

Ich habe das Problem aus einem anderen Grund getroffen.

Ich habe eine App in Android Studio erstellt und hatte ein App-Modul und ein anderes Modul. Das App-Modul war vom anderen Modul abhängig.

Ein Teil des build.gradleApp-Moduls ist jedoch:

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

    ...

</application>

während der build.gradleTeil des anderen Moduls ist:

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

</application>

Also ändere ich den build.gradleTeil des Moduls in:

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

</application>

Problem gelöst.


0

Duplizierungsdeklaration derselben Aktivität in der Android Manifest-Datei.


0

In meinem Fall hatte ich in der Manifestdatei eine ungültige Tag-Struktur, ich hatte eine geöffnete Aktivität geschlossen, aber darin befand sich Erz, activities (...)das die Dateikorrektheit ungültig machte. Um es zu finden, dauerte es ziemlich zwei Stunden. Der Fehler wurde als fehlend / unbekannt gemeldet <activity>.


0
compile 'com.github.wenchaojiang:AndroidSwipeableCardStack:0.1.1'

Wenn dies die Abhängigkeit ist, die Sie hinzugefügt haben, ändern Sie sie in:

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

und stellen Sie sicher, dass target sdknicht weniger als 15 sein sollte .


0

Ich habe dieses Problem in Android Studio 3.5 gelöst, indem ich das Projekt bereinigt und neu erstellt habe.

Klicken Sie einfach auf Erstellen -> Projekt neu erstellen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.