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.