This should be applied to test apk as well. I'll investigate. I've filed https://code.google.com/p/android/issues/detail?id=65437
On Thu, Jan 30, 2014 at 5:17 PM, Streets Of Boston <[email protected]>wrote: > Our Android Studio project has about 4 main app modules and 4 library > modules > > The *android-jenga-rest* module is a *library *module. > > When running the task *connectedInstrumentTest *on this module, I get > this error (replaced the long-ish path to the jars\apks with just a bunch > of periods) when the *packageDebugTest *is executing: > > :*libraries:android-jenga-rest:packageDebugTestError:* duplicate files during > packaging of APK > C:\.....\project\libraries\android-jenga-rest\build\apk\android-jenga-rest-debug-test-unaligned.apk > Path in archive: META-INF/ASL2.0 > Origin 1: > C:\.....\project\libraries\android-jenga-rest\build\bundles\debug\libs\jackson-core-asl-1.9.12.jar > Origin 2: > C:\.....\project\libraries\android-jenga-rest\libs\jackson-mapper-asl-1.9.12.jar > You can ignore those files in your build.gradle: > android { > packagingOptions { > exclude 'META-INF/ASL2.0' > } > } > > > > Regular (non-test) builds work fine, because we do have the android { > packagingOptions { ... } } exclusions defined in our build.gradle files. > > > Is there a spot where I can put the *packagingOptions *for the *test*-APKs, > so that these build-errors can be prevented? > > > Thanks! > > --- Anton Spaans. > > > Here is a stacktrace of this error: > > > > * Exception is: > org.gradle.api.tasks.TaskExecutionException: Execution failed for task > ':libraries:android-jenga-rest:packageDebugTest'. > 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.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64) > at > org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58) > at > org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42) > at > org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52) > at > org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53) > at > org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43) > at > org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:289) > at > org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:79) > at > org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63) > at > org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51) > at > org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$1.run(DefaultTaskPlanExecutor.java:33) > at org.gradle.internal.Factories$1.create(Factories.java:22) > at > org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:198) > at > org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:266) > at > org.gradle.cache.internal.DefaultPersistentDirectoryStore.longRunningOperation(DefaultPersistentDirectoryStore.java:135) > at > org.gradle.api.internal.changedetection.state.DefaultTaskArtifactStateCacheAccess.longRunningOperation(DefaultTaskArtifactStateCacheAccess.java:95) > at > org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:31) > at > org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:86) > 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.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.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:46) > at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45) > at org.gradle.launcher.Main.main(Main.java:37) > 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:23) > at > org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:30) > at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:127) > at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:58) > Caused by: org.gradle.tooling.BuildException: Duplicate files copied in APK > META-INF/ASL2.0 > File 1: > C:\....\project\libraries\android-jenga-rest\build\bundles\debug\libs\jackson-core-asl-1.9.12.jar > File 2: > C:\....\project\libraries\android-jenga-rest\build\bundles\debug\libs\jackson-core-asl-1.9.12.jar > > at > com.android.build.gradle.tasks.PackageApplication.doFullTaskAction(PackageApplication.groovy:104) > at > com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(IncrementalTask.groovy:64) > at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:63) > at > org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.doExecute(AnnotationProcessingTaskFactory.java:236) > at > org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:212) > at > org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.execute(AnnotationProcessingTaskFactory.java:223) > at > org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:201) > at > org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:533) > at > org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:516) > at > org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80) > at > org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61) > ... 52 more > Caused by: com.android.builder.packaging.DuplicateFileException: Duplicate > files copied in APK META-INF/ASL2.0 > File 1: > C:\....\project\libraries\android-jenga-rest\build\bundles\debug\libs\jackson-core-asl-1.9.12.jar > File 2: > C:\....\project\libraries\android-jenga-rest\build\bundles\debug\libs\jackson-core-asl-1.9.12.jar > > at > com.android.builder.internal.packaging.Packager$JavaAndNativeResourceFilter.checkEntry(Packager.java:146) > at > com.android.builder.signing.SignedJarBuilder.writeZip(SignedJarBuilder.java:258) > at > com.android.builder.internal.packaging.Packager.addResourcesFromJar(Packager.java:414) > at > com.android.builder.AndroidBuilder.packageApk(AndroidBuilder.java:1208) > at com.android.builder.AndroidBuilder$packageApk.call(Unknown Source) > at > com.android.build.gradle.tasks.PackageApplication.doFullTaskAction(PackageApplication.groovy:91) > ... 62 more > > ============================================================================== > > -- > You received this message because you are subscribed to the Google Groups > "adt-dev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/groups/opt_out. > -- Xavier Ducrohet Android SDK Tech Lead Google Inc. http://developer.android.com | http://tools.android.com Please do not send me questions directly. Thanks! -- You received this message because you are subscribed to the Google Groups "adt-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
