0

我遇到了一个非常奇怪的问题,android studio 仅在尝试启动调试会话时给我以下异常,但该项目将编译得很好。
应用程序项目是一个非常基本的活动项目(使用那里的向导创建)。

该项目包括一个外部 java 库,它本身编译得很好。当我进行清理/重建时,一切都会按预期完美地清理和编译。只有当我尝试运行包含库的调试会话时,才会出现异常。

当我将 java 库作为依赖项删除时,项目启动得很好

我尝试使用 --stacktrace/--debug 运行,但没有任何信息有帮助。

版本信息:构建工具:23.0.0 Android studio 1.4 Gradle 插件 1.3.1 Gradle 2.2.1

当我采用相同的 java 库
并将其作为依赖项添加到较旧的 android 项目时,一切正常,因此新项目设置向导/创建导致问题。

有没有人遇到过这个问题,或者在将java lib添加到android项目时我需要做些什么特别的事情。

FAILURE:构建失败并出现异常。

  • 出了什么问题:任务“:app:preDexDebug”执行失败。

    com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_79\bin\java.exe'' 完成非零退出值 1

  • 尝试:使用 --info 或 --debug 选项运行以获得更多日志输出。

  • 例外是:org.gradle.api.tasks.TaskExecutionException:任务':app:preDexDebug'的执行失败。在 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) at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64) at 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。

4

1 回答 1

0

好的,我解决了它,通过在我的 build.gradle 文件中添加一些排除行,这些杰克逊库是我的 java 库的一部分,并且在打包 apk 时会导致某种大小冲突......希望它不会导致任何其他问题。

包装选项 { 排除 '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' }

于 2015-11-16T23:03:21.810 回答