我遇到了一个非常奇怪的问题,android studio只在尝试启动调试会话时给出了以下异常,但该项目编译得很好。
应用程序项目是一个非常基本的一个活动项目(使用
有精灵)此时。
该项目包含一个外部java库,它本身编译得很好。 当我进行清洁/重建时,所有内容都会完美地清理和编译 预期。 它只有当我尝试运行调试会话时,包含库, 当我得到例外。
当我删除java库作为依赖项时,项目启动就好了
我尝试使用--stacktrace / - debug运行,但没有信息 很有帮助。
版本信息: 构建工具:23.0.0 Android工作室1.4 Gradle插件1.3.1 Gradle 2.2.1
当我拿这个相同的java库时 并将其作为依赖项添加到旧的android项目,一切正常, 所以它与新项目设置向导/创建的东西正在导致 问题。
有没有人碰到这个,或者我需要什么特别的东西 将java lib添加到android项目时。
失败:构建因异常而失败。
出了什么问题: 任务':app:preDexDebug'执行失败。
com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'命令'C:\ Program Files \ Java \ jdk1.7.0_79 \ bin \ java.exe''已完成具有非零退出值1
尝试: 使用--info或--debug选项运行以获得更多日志输出。
例外情况是: org.gradle.api.tasks.TaskExecutionException:任务':app:preDexDebug'的执行失败。 at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69) 在org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46) 在org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35) 在org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64) 在org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58) 在org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42) 在org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52) 在org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53) 在org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43) 在org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:310) 在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) 在org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:23) 在org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:88) 在org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37) 在org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62) 在org.gradle.execution.DefaultBuildExecuter.access $ 200(DefaultBuildExecuter.java:23) 在org.gradle.execution.DefaultBuildExecuter $ 2.proceed(DefaultBuildExecuter.java:68)
答案 0 :(得分:0)
好的,我通过在build.gradle文件中添加一些排除行来解决它 这些jackson libs是我的java lib的一部分,并且造成某种影响 打包apk时大小冲突...希望它不会导致 任何其他问题。
packagingOptions { 排除'META-INF / ASL2.0' 排除'META-INF / LICENSE' 排除'META-INF / NOTICE' 排除'META-INF / services / com.fasterxml.jackson.core.ObjectCodec' 排除'META-INF / services / com.fasterxml.jackson.core.JsonFactory' 排除'META-INF / services / com.fasterxml.jackson.databind.Module' }