Gradle: wykonanie nie powiodło się dla zadania „: processDebugManifest”

142

Od wczoraj pojawia się błąd gradle podczas budowania - po prostu pojawił się losowo ...

Tutaj pełny ślad stosu:

Mój projekt zależy od wielu bibliotek i do wczoraj budował się bez żadnych problemów (nawet z bibliotekami)

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

Czy ktoś ma pomysł, jak to naprawić? przyszedł losowo ... Pełny ślad stosu tutaj:

* 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
źródło

Odpowiedzi:

133

Znalazłem rozwiązanie tego problemu:

gradle assemble -info dało mi wskazówkę, że Manifesty mają różne wersje SDK i nie można ich scalić.

Musiałem edytować moje manifesty i plik build.gradle i wszystko znowu działało.


Żeby było jasne trzeba edytować uses-sdkw AndroidManifest.xml

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

i androidsekcja, w szczególności minSdkVersioni targetSdkVersionw build.gradle pliku

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 16
    }
}
Lukas Olsen
źródło
1
Upewnij się, że edytujesz plik gradle.build w przypadku, gdy używasz Android Studio. Wartości w AndroidManifest.xml są nadpisywane podczas kompilacji!
Diego Acosta,
@Nakardo zmiana wartości w build.gradlenie zastępuje wartości na moim AndroidManifest.xmlpodczas wykonywaniagradle assemble
Nimrod Dayan
1
@Nakardo Plik build.gradle sdkVersionzawsze zastępuje AndroidManifest.xmlcytat z dokumentacji systemu Android: Ta wartość minSdkVersion nie jest używana; jest zawsze zastępowana wartością określoną w skrypcie budowania Gradle Wartość (na przykład) minSdkVersion jest używana tylko wtedy, gdy nie jest określona w skryptach budowania build.gradle. Gdy jest określona w skryptach kompilacji Gradle, wartość manifestu jest ignorowana i może wprowadzać w błąd, dlatego należy ją usunąć, aby uniknąć niejednoznaczności.
Chad Bingham
@Lukas Olsen spot na rozwiązanie. Moja wersja minsdk miała 19, ale w gradle była to 10, nadal nie jest wymagana dla targetSDK w build.gradle, chociaż jest to zadeklarowane w manifeście. Co ciekawe, właśnie zaktualizowałem moje studio Android do wersji 2.1.1 i wcześniej działało. Problem rozwiązany teraz.
natur3
W następstwie błąd powrócił w rzeczywistości, ponieważ miałem zduplikowany znacznik metadanych pobierający identyfikator aplikacji ze strings.xml do użycia z analizą. Brak błędów związanych z analizą, ale te metadane spowodowały awarię, tak naprawdę nie widziałem tego szczegółu błędu, dopóki nie otworzyłem karty konsoli Gradle w Android Studio wer. 2.1.1
natur3
126

Ogólnie rzecz biorąc, aby zobaczyć, jaki jest błąd, możesz zobaczyć scalony plik manifestu w Android Studio

Przejdź do pliku manifestu

wprowadź opis obrazu tutaj

Kliknij dolną kartę „Scalony manifest”

wprowadź opis obrazu tutaj

Na prawym ekranie w sekcji „Inne pliki manifestu” sprawdź, czy nie wystąpił błąd związany z oceną:

wprowadź opis obrazu tutaj

Kevin ABRIOUX
źródło
Uratowałeś mi dzień
Abhishek Pachal
34

Chciałbym, żeby rozwiązanie Lukasa Olsena działało w innych scenariuszach, ale w moim przypadku jest zupełnie inaczej.

Napotkałem to samo podczas dodawania ActionBarShelock do projektu, porównując ze starszą biblioteką stwierdziłem, że w manifeście brakuje tagu aplikacji. Dodając jedną linię, rozwiązałem problem.

</application>
vinaykumar
źródło
Pierwszy raz było to w wersjach SDK, ale teraz z powodu <application />braku. Uratowałeś mnie, dzięki.
Benjamin Toueg
To też był mój przypadek!
cesards
@Ahmad Ali Nasir, ale w moim przypadku śledzę Lukasa Olsena, ale żadna zmiana nie może mi pomóc bracie
Manoj
@Manoj, oczywiście, ale proszę udostępnij swój skrypt build.grade i dziennik błędów, abyśmy wszyscy mogli lepiej zrozumieć, co robisz źle.
Ahmad Ali Nasir
@Ahmad Ali Nasir, pewnie bracie, wysłałem tutaj pytanie, mam dużo na to stackoverflow.com/questions/27266042/ ...
Manoj
17

Wydaje się, że dzieje się tak, ponieważ Usługi Google Play wymagają Androida 2.2, czyli zestawu SDK w wersji 8.

W programie build.gradleupewnij się, że wartość minSdkVersion wynosi co najmniej 8. Wydaje się, że wartością domyślną jest 7. Więc masz coś takiego:

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
źródło
To rozwiązało mój problem z Manifestem, ale teraz otrzymuję Gradle: błąd: nie mogę znaleźć symbolu dla żadnej z moich zmiennych symboli. Zdarzyło mi się to raz wcześniej, kiedy miałem błąd kompilacji i naprawiłem go. Zacząłem mieć te problemy. Masz jakąś wskazówkę, jak to naprawić?
Dan,
Naprawiono to, wygląda na to, że Gradle dodał import android.R do mojej głównej aktywności. Usunąłem linię i wszystko jest w porządku.
Dan,
14

rozwiązałem, umieszczając tę ​​jedną linię w tagu aplikacji ...

narzędzia: węzeł = "zamień"

AndroUser
źródło
To rozwiązało mój problem. Dzięki! Musiałem to dodać pod applicationtagiem wAndroidManifest.xml
Reaz Murshed,
To rozwiązało mój problem po 30 minutach wyszukiwania
Demon App Programmer,
Dla mnie to mówi, że przedrostek „narzędzia” dla atrybutu „narzędzia: węzeł” skojarzony z typem elementu „aplikacja” nie jest powiązany.
Amritesh Anand
nie zadziałało dla mnie pojawił się błąd: Przedrostek „narzędzia” dla atrybutu „narzędzia: węzeł” skojarzony z typem elementu „aplikacja” nie jest powiązany.
Kapil soni
11

Napotkałem również ten błąd podczas dodawania powiadomień push Firebase w mojej aplikacji. ale w moim przypadku popełniłem bardzo głupi błąd, który zauważyłem po jakimś czasie. Dwa razy zadeklarowałem poniższy kod w manifeście. Po usunięciu zduplikowanej deklaracji. mój problem został rozwiązany.

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

więc możesz też sprawdzić, czy w pliku manifestu aplikacji nie ma zduplikowanych informacji.

Rozwijaj
źródło
Najlepsza odpowiedź..!!
RUTURAJ Raval
5

Może to z powodu zduplikowanej deklaracji aktywności w Twoim manifeście.

hovo888s
źródło
5

Jeśli dodasz zależności, takie jak ActionBarSherlock firmy Gradle,
ostrożnie ustaw targetSdkVersion 17 lub nowszy.

Poniżej cytat to --infodzienniki, gdy ActionBarSherlock nie pasuje do prywatnego projektu.

[C: \ Me \ Documents \ GitHub \ project \ AndroidManifest.xml: 3, C: \ Me \ Documents \ GitHub \ project \ build \ exploded-bundles \ ComActionbarsherlockActionbarsherlock440.aar \ AndroidManifest.xml: 2] Główny manifest ma tylko bibliotekę używa targetSdkVersion = '17 '
: testApp: processDebugManifest FAILED

Byłoby lepiej, gdybyś utrzymywał własny projekt targetSdkVersiontak najnowszy, jak to tylko możliwe.

Youngjae
źródło
Dzięki za --info, utknąłem i udało mi się rozwiązać problem, biegnąc ./gradlew assemble --info. W moim przypadku zadeklarowałem wersję 2 gles w głównym manifeście, ale nie w projekcie biblioteki. Jeśli go nie zadeklarujesz, domyślnie jest to wersja 1 i to było przyczyną błędu (niekompatybilność).
Orgmir
4

Natknąłem się na ten sam problem i aby go naprawić, dodałem

tools:replace="android:icon"

do elementu w AndroidManifest do przesłonięcia

RicNjesh
źródło
4

Może to być zduplikowane uprawnienie dodane w pliku manifestu. W moim przypadku powtórzono „using-Permissions android: name =” android.permission.READ_PHONE_STATE ”.

Rajath
źródło
3

Z tego, co widzę, jeśli masz projekt wielomodułowy z Androidem Studio i Gradle, IDE próbuje scalić pliki manifestu z każdego modułu w główny manifest.

Jeśli masz moduł A i moduł B, aw manifeście A deklarujesz jakąś aktywność z modułu B, gradle napotka problem podczas scalania.

Spróbuj usunąć odwołanie do wielu modułów z plików manifestu.

Paolo M.
źródło
Chcę tylko uruchomić przypadki testowe. Używam studia Android, w którym miałem wiele projektów A i B ze wspólną biblioteką, ponieważ nie działa, powoduje błąd testu dexdebug, po którym następuje „Lukas Olsen”, ale żadna zmiana nie może mi pomóc
Manoj
@ Paolo M Chcę tylko uruchomić przypadki testowe Używam studia Android, w którym miałem wiele projektów A i B ze wspólną biblioteką, ponieważ nie są uruchomione powoduje błąd testu dexdebug po "Lukas Olsen" ale żadna zmiana nie może mi pomóc
Manoj
3

W moim przypadku,

Aktywność definiuję dwukrotnie w pliku manifestu

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

Po usunięciu zduplikowany błąd rozwiązany.

Ranjith Kumar
źródło
Tak więc chodzi o to, że <application> <activity> musi być zdefiniowane raz w jednym tagu <manifest>
muhammad tayyab
@muhammadtayyab no .. Te same czynności zdefiniowałem dwukrotnie. to jest problem. możesz zdefiniować liczbę n <aktywność>
Ranjith Kumar
2

Miałem ten sam problem i żadna z pozostałych odpowiedzi nie pomogła.

W moim przypadku winowajcą był komentarz w pliku manifestu:

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

    <uses-sdk [...]

(Może to być błąd, ponieważ komentarze w innych obszarach manifestu nie powodują żadnych problemów).

Janosch
źródło
2

Z podobnym problemem natknąłem się podczas biegania

cordova build android

które zgłaszają błędy:

 /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

BŁĄD: kompilacja nie powiodła się z wyjątkiem.

  • Co poszło nie tak: wykonanie nie powiodło się dla zadania „: processDebugManifest”.

    Manifest fuzja nie powiodła się: uses-sdk: minSdkVersion 7 nie może być mniejsza niż wersja 10 zadeklarowana w bibliotece / home / app / phonegap / helloworld / platform / android / build / medium / exploded-aar / android / CordovaLib / unspecified / debug / AndroidManifest. xml Sugestia: użyj narzędzi: overrideLibrary = "org.apache.cordova", aby wymusić użycie

W moim przypadku,

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

powyższe rozwiązanie nie działa! ale rozwiązuję je przez wymianę

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

tak jak

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

w tym dwóch pliku /home/app/phonegap/helloworld/config.xml,/home/app/phonegap/helloworld/platforms/android/res/xml/config.xml

Emery Yan
źródło
2

Dwie rzeczy, które musisz dodać do pliku AndroidManifest.xml:

Po pierwsze: dodaj xmlns: tools = "http://schemas.android.com/tools" do manifestu tagu

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

Drugie: Dodaj narzędzia: zamień = "ikona" do tagu aplikacji

<application
       android:icon=.........
       android:label=.......
       tools:replace="icon">
Keith Davis
źródło
1

Spróbuj zmienić:

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

Do:

<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
źródło
1

jeśli korzystasz z Android Studio, powinieneś uruchomić Android Studio za pomocą wiersza poleceń (w systemie Windows) lub terminala (w podstawowym systemie operacyjnym UNIX), aby zobaczyć więcej szczegółów na temat tego błędu w oknie wiersza polecenia.

Mohammad Reza Norouzi
źródło
Możesz określić dowolną opcję wiersza poleceń gradle w oknie dialogowym Ustawienia Gradle, które jest otwierane przez naciśnięcie ostatniego przycisku na karcie Gradle w środowisku IDE, więc nie ma potrzeby uciekania się do wiersza poleceń. Jednak ilość gówna, jaką musimy znieść, używając tego narzędzia do budowania, jest naprawdę niewiarygodna.
Giulio Piancastelli
1

Znalazłem inne możliwe rozwiązanie tego problemu, próbując zaktualizować mój Urban Airship do najnowszej wersji. W moim pliku build.gradle najwyższego poziomu kod wyglądał następująco:

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

domyślnie wygenerowany przez Android Studio. Zmieniłem to na późniejszą wersję gradle, zastępując to:

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

A potem projekt się buduje.

PaperThick
źródło
Coś takiego też było moim problemem! Miałem repozytoria {mavenCentral ()} w build.gradle, usunięcie tego rozwiązało problem.
David
1

W moim przypadku było to spowodowane zduplikowanymi uprawnieniami w moim pliku Manifest i minSDKVersion biblioteki było większe niż minSDKVersion mojego projektu. Właśnie sprawiłem, że minSDKVersion równa się i skompilowałem z sukcesem.

Noman
źródło
1

Ten problem występuje z powodu kompilacji compileSdkVersion 26 buildToolsVersion "26.0.0" lub kompilacji „com.android.support:appcompat-v7:26.+”

zamiast tego użyj compileSdkVersion 25 buildToolsVersion "25.0.3" compile 'com.android.support:appcompat-v7:25.+'

Era twórcza
źródło
1

W moim przypadku tag napisałem dwukrotnie. To był mój jedyny błąd. To było przed kodem

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

`

Samo usunięcie tagu aplikacji rozwiązało mój 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>

Punkty, które powinieneś mieć tylko jeden tag; może mieć więcej niż jeden tag i, ale jeden. To właśnie wiem w tej chwili :)

muhammad tayyab
źródło
1

Może masz zduplikowane działania

Lubię to:

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

....

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

po prostu skomentuj jeden z nich

Williaan Lopes
źródło
1

Ten błąd może być spowodowany pozostawieniem pustego atrybutu w pliku manifestu.

Przykład:

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

W fullBackupContentpowyższym przykładzie jest pusty.

Po zmianie na android:fullBackupContent="true"to zostanie naprawione.

Phani Rithvij
źródło
1

Po prostu dodaj te dwie linie w „gradle.properties”:

android.useAndroidX=true
android.enableJetifier=true
Kike Gamboa
źródło
2
to nie może być to, miałem już te linie gradle.propertiesi nie zacząłem otrzymywać tego błędu, dopóki nie spróbowałem go uruchomić w środowisku systemu operacyjnego Windows.
Daniel
0

Wystąpił ten błąd, ponieważ nie zainstalowałem wymaganej wersji zestawu SDK. Po pobraniu i zainstalowaniu wersji SDK obecnej w pliku build.gradle / manifestu systemu Android problem został rozwiązany.

Fenil
źródło
0

Problem spotkałem z innego powodu.

Budowałem aplikację w Android Studio i miałem moduł aplikacji i inny moduł. Moduł aplikacji zależał od drugiego modułu.

Ale częścią build.gradlemodułu aplikacji jest:

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

    ...

</application>

podczas gdy część drugiego modułu build.gradleto:

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

</application>

Więc zmieniam część modułu build.gradlena:

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

</application>

Problem rozwiązany.

MewX
źródło
0

Deklaracja powielenia tego samego działania w pliku manifestu systemu Android.

sumit mehra
źródło
0

W moim przypadku miałem w pliku manifestu nieprawidłową strukturę tagu, miałem zamkniętą czynność otwartą, ale wewnątrz niej znajdowała się ruda, activities (...)która unieważnia poprawność pliku, znalezienie jej zajęło około dwóch godzin, zgłoszony błąd brakujący / nieznany <activity>.

Andrea Leganza
źródło
0
compile 'com.github.wenchaojiang:AndroidSwipeableCardStack:0.1.1'

Jeśli jest to zależność, którą dodałeś, zmień ją na:

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

i upewnij się, że target sdknie powinno być mniej niż 15 .

Samridhi Dev
źródło
0

Rozwiązałem ten problem w Android Studio 3.5, czyszcząc i przebudowując projekt.

Po prostu kliknij, aby zbudować -> Przebuduj projekt.

nożyczki
źródło