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
Lukas Olsen
quelle

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
    }
}
Lukas Olsen
quelle
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

Kevin ABRIOUX
quelle
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>
vinaykumar
quelle
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'
}
Mjibson
quelle
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"

AndroUser
quelle
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.

Entwickeln
quelle
Beste Antwort..!!
RUTURAJ Raval
5

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

hovo888s
quelle
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.

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

RicNjesh
quelle
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.

Rajath
quelle
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 .

Paolo M.
quelle
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.

Ranjith Kumar
quelle
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.)

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

Emery Yan
quelle
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">
Keith Davis
quelle
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" />
swooby
quelle
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.

Mohammad Reza Norouzi
quelle
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.

PaperThick
quelle
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.

Kein Mann
quelle
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.+'

Kreative Ära
quelle
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 :)

Muhammad Tayyab
quelle
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

Williaan Lopes
quelle
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.

Phani Rithvij
quelle
1

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

android.useAndroidX=true
android.enableJetifier=true
Kike Gamboa
quelle
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.

Fenil
quelle
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.

MewX
quelle
0

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

sumit mehra
quelle
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>.

Andrea Leganza
quelle
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 .

Samridhi Dev
quelle
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.

Schere
quelle