簡體   English   中英

包含Java庫項目時,使用android studio啟動調試時出現app:preDexDebug異常

[英]app:preDexDebug exception on debug launch with android studio, when including java library project

我在android studio中遇到了一個非常奇怪的問題,僅在嘗試啟動調試會話時才給我以下異常,但是該項目可以正常編譯。
此時,該應用程序項目是一個非常基本的活動項目(使用向導創建)。

該項目包括一個外部Java庫,該庫本身可以很好地進行編譯。 當我執行清理/重建時,所有內容都會按預期完美地進行清理和編譯。 只有當我嘗試運行帶有包含的庫的調試會話時,才獲得異常。

當我刪除Java庫作為依賴項時,項目啟動就很好了

我曾嘗試使用--stacktrace /-debug來運行,但是這些信息都沒有幫助。

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

當我使用這個相同的Java庫時
並將其添加為對較早的android項目的依賴項,一切正常,因此,新的項目設置向導/創建導致問題。

有沒有人遇到這個問題,或者在將Java庫添加到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'的執行失敗。 在org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)在org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)在org.gradle org.gradle的.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)位於org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)位於org.gradle。 org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42)上的.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)在org.gradle.api.internal.tasks.execut org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)上的。 org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:310)處的ter.execute(ExecuteAtMostOnceTaskExecuter.java:43)org.gradle.execution.taskgraph.Abs​​tractTaskPlanExecutor $ TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor $ java:79)在org.gradle.execution.taskgraph上的org.gradle.execution.taskgraph.Abs​​tractTaskPlanExecutor $ TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63)處,在org.gradle.execution.taskgraph.Abs​​tractTaskPlanExecutor $ TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51)處org上org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:88)處的org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)處的.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:23) gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)在org.gradle.execution.DefaultBuildExecuter.access $ 200(DefaultBuildExecuter.java:23)在org.gradle.executio n.DefaultBuildExecuter $ 2.proceed(DefaultBuildExecuter.java:68)

好的,我解決了這一問題,在我的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'}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM