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

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

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


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>

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

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


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.


Najlepsza odpowiedź..!!
RUTURAJ Raval

5

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


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.


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


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


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.


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.


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


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


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

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

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.


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.


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.


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.+'


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


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


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.


1

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

android.useAndroidX=true
android.enableJetifier=true

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.


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.



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


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 .


0

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

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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.