Ik krijg sinds gisteren een graduele fout bij het bouwen – het kwam gewoon willekeurig….
Volledige stacktrace hier:
Mijn project is afhankelijk van meerdere bibliotheken en het is tot gisteren zonder problemen gebouwd (zelfs met de 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")
Iemand een idee hoe dit op te lossen? het kwam gewoon willekeurig… Volledige 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
Antwoord 1, autoriteit 100%
De oplossing voor dit probleem gevonden:
gradle assemble -info gaf me de hint dat de manifesten verschillende SDK-versies hebben en niet kunnen worden samengevoegd.
Ik moest mijn Manifests en build.gradle-bestand bewerken en alles werkte weer.
Voor alle duidelijkheid moet je de uses-sdk
bewerken in de AndroidManifest.xml
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="16" />
en het gedeelte android
, met name minSdkVersion
en targetSdkVersion
in het bestand build.gradle
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 14
targetSdkVersion 16
}
}
Antwoord 2, autoriteit 95%
In het algemeen, om te zien wat de fout is, kun je het samengevoegde manifestbestand in Android studio bekijken
Ga naar je manifestbestand
Klik op het onderste tabblad “Samengevoegd manifest”
Controleer op het rechterscherm, in “Andere manifestbestanden”, op fouten als gevolg van graddle:
Antwoord 3, autoriteit 23%
Ik zou willen dat de oplossing van Lukas Olsen werkt voor andere scenario’s, maar in mijn geval is dat heel anders.
Ik kwam hetzelfde tegen toen ik ActionBarShelock aan het project toevoeg, door te vergelijken met de oudere bibliotheek ontdekte ik dat de applicatie-tag in het manifest ontbrak. Door één regel toe te voegen, heb ik mijn probleem opgelost.
</application>
Antwoord 4, autoriteit 12%
Dit lijkt te gebeuren omdat Google Play-services Android 2.2 vereisen, dit is SDK-versie 8.
In build.gradle
, zorg ervoor dat uw minSdkVersion minimaal 8
is. De standaard lijkt 7
te zijn. Dus je hebt zoiets als dit:
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'
}
Antwoord 5, autoriteit 12%
ik heb het opgelost door deze ene regel in de toepassingstag te plaatsen…
tools:node=”replace”
6, Autoriteit 3%
Misschien komt het vanwege dubbele activiteitsverklaring in uw manifest.
7, Autoriteit 3%
Het kan een dubbele toestemming zijn toegevoegd in het manifest-bestand. In mijn geval
“Gebruikt-toestemming Android: naam =” Android.permission.read_Phone_State “werd herhaald.
8
vond hiervoor een andere mogelijke oplossing bij het bijwerken van mijn stedelijke luchtschip naar de nieuwste versie.
In mijn build.gradle-bestand leek de code eruit:
// 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()
}
}
standaard zoals gegenereerd door Android Studio. Ik heb dit veranderd naar een latere geleidelijke versie door dit te vervangen door:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.13.+'
}
}
En daarna zou het project bouwen.
Antwoord 9
Ik kwam een soortgelijk probleem tegen toen ik
cordova build android
die fouten 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 MISLUKT
FAILURE: Build is mislukt met een uitzondering.
- Wat ging er mis:
Uitvoering mislukt voor taak ‘:processDebugManifest’.Manifest fusie mislukt: use-sdk:minSdkVersion 7 kan niet kleiner zijn dan versie 10 gedeclareerd in bibliotheek /home/app/phonegap/helloworld/platforms/android/build/intermediates/exploded-aar/android/CordovaLib/unspecified/debug /AndroidManifest.xml
Suggestie: gebruik tools:overrideLibrary=”org.apache.cordova” om gebruik te forceren
In mijn geval,
uses-sdk:minSdkVersion 7 cannot be smaller than version 10 declared
, bovenstaande oplossing werkt niet! maar ik los ze op door te vervangen
<preference name="android-minSdkVersion" value="7" />
als
<preference name="android-minSdkVersion" value="10" />
in deze twee bestanden /home/app/phonegap/helloworld/config.xml
, /home/app/phonegap/helloworld/platforms/android/res/xml/config.xml
Antwoord 10
2 dingen die u moet toevoegen aan AndroidManifest.xml:
1e: voeg xmlns:tools=”http://schemas.android.com/tools” toe aan manifest-tag
<manifest xmlns:android=".........
package="...........
xmlns:tools="http://schemas.android.com/tools">
2e: Tools:replace=”icon” toevoegen aan applicatietag
<application
android:icon=.........
android:label=.......
tools:replace="icon">
Antwoord 11
Probeer te wijzigen:
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
...
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="16" />
Aan:
<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" />
Antwoord 12
als je Android Studio gebruikt, moet je Android Studio uitvoeren via de opdrachtprompt (in Windows) of terminal (in UNIX-basisbesturingssysteem)zodat je meer details over deze fout kunt zien in de opdrachtprompt venster.
Antwoord 13
Ik kreeg deze foutmelding omdat ik de vereiste SDK-versie niet had geïnstalleerd. Na het downloaden en installeren van de SDK-versie die aanwezig is in het build.gradle/Android Manifest-bestand, is het opgelost.
Antwoord 14
In mijn geval was het vanwege dubbele toestemming in mijn manifestbestand en minSDKVersion van de bibliotheek was groter dan minSDKVersion van mijn project. Ik heb zojuist die minSDKVersion gelijk gemaakt en met succes gecompileerd.
Antwoord 15
Dit probleem is aan de orde gesteld vanwege
compileSdkVersie 26
buildToolsVersie “26.0.0”
of
compileer ‘com.android.support:appcompat-v7:26.+’
in plaats van dit gebruik
compileSdkVersie 25
buildToolsVersie “25.0.3”
compileer ‘com.android.support:appcompat-v7:25.+’
Antwoord 16
In mijn geval had ik de tag twee keer geschreven. Dat was mijn enige fout. Het was vóór de 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>
`
Alleen het verwijderen van de applicatie-tag loste mijn probleem op.
<?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>
De punten die u slechts één tag zou moeten hebben; kan meer dan één en hebben, maar één tag. Dat is wat ik op dit moment weet 🙂
Antwoord 17
Misschien heb je dubbele activiteiten
Zoals dit:
<activity android:name=".register.RegisterStepsActivity" />
....
<activity android:name=".register.RegisterStepsActivity" />
reageer gewoon op een van hen
Antwoord 18
Deze fout kan worden veroorzaakt door een kenmerk dat leeg is gelaten in het manifestbestand (AndroidManifest.xml
).
Een voorbeeld:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:logo="@drawable/ic_actionbar"
android:supportsRtl="true"
android:fullBackupContent=""> <!--THIS Line-->
...
</application>
De fullBackupContent
is leeg in het bovenstaande voorbeeld.
Als het wordt gewijzigd in android:fullBackupContent="true"
, wordt het opgelost.
Antwoord 19
Ik heb het probleem om een andere reden ontmoet.
Ik was een app aan het bouwen in Android Studio en ik had een app-module en nog een module. App-module was afhankelijk van de andere module.
Maar een deel van build.gradle
van app-module is:
<application
android:allowBackup="false"
android:label="@string/app_name"
android:supportsRtl="true">
...
</application>
terwijl het build.gradle
deel van de andere module is:
<application
android:allowBackup="true"
android:label="Android Lua"
android:supportsRtl="true">
</application>
Dus ik verander het build.gradle
-gedeelte van de module in:
<application
android:allowBackup="false"
android:label="@string/app_name"
android:supportsRtl="true">
</application>
Probleem opgelost.
Antwoord 20
Duplicatieverklaring van dezelfde activiteit in Android Manifest-bestand.
Antwoord 21
In mijn geval had ik in het manifestbestand een ongeldige tagstructuur, ik had een geopende activiteit gesloten, maar daarin waren erts activities (...)
die de juistheid van het bestand ongeldig maken, om het te vinden het duurde twee uur, fout gemeld als ontbrekende/onbekende <activity>
.
Antwoord 22
compile 'com.github.wenchaojiang:AndroidSwipeableCardStack:0.1.1'
Als dit de afhankelijkheid is die je hebt toegevoegd, verander het dan in:
compile 'com.github.wenchaojiang:AndroidSwipeableCardStack:0.1.4'
en zorg ervoor dat target sdk
niet kleiner mag zijn dan 15.
Antwoord 23
Ik heb dit probleem in Android Studio 3.5 opgelost door het project op te schonen en opnieuw op te bouwen.
Klik om te bouwen -> Project herbouwen.