gpt4 book ai didi

java - 如何创建可在 Android-Studio 项目中使用的 jar?

转载 作者:行者123 更新时间:2023-11-30 10:48:23 26 4
gpt4 key购买 nike

我的情况:我创建了一个 Android-Studio 项目,其中包含来自 Android-Studio 的示例 Activity 。我在只有一个类的 eclipse(neon) 中用 following these steps 创建了一个 jar(不可执行),然后按照 steps of this answer 来包含那个 jar。在我的 Activity 的 onCreate() 方法中,我通过调用它的构造函数来使用我的 jar 中的代码。

我的问题/问题:我的问题是什么或我应该去哪里看?我是不是以错误的方式创建了我的 jar,或者我在 Android Studio 中遗漏了什么?

Android Studio 消息:

UNEXPECTED TOP-LEVEL EXCEPTION:
Error:com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/usr/local/java/jdk1.8.0_72/bin/java'' finished with non-zero exit value 1

Android Studio Gradle 控制台(带有“--stacktrace”选项,但我稍微缩短了消息):

20:15:12.502 [ERROR] [org.gradle.BuildExceptionReporter] FAILURE: Build failed with an exception.
20:15:12.502 [ERROR] [org.gradle.BuildExceptionReporter]
20:15:12.502 [ERROR] [org.gradle.BuildExceptionReporter] * What went wrong:
20:15:12.502 [ERROR] [org.gradle.BuildExceptionReporter] Execution failed for task ':app:transformClassesWithDexForDebug'.
20:15:12.502 [ERROR] [org.gradle.BuildExceptionReporter] > com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/usr/local/java/jdk1.8.0_72/bin/java'' finished with non-zero exit value 1

...

20:15:12.502 [ERROR] [org.gradle.BuildExceptionReporter]
20:15:12.502 [ERROR] [org.gradle.BuildExceptionReporter] * Exception is:
20:15:12.503 [ERROR] [org.gradle.BuildExceptionReporter] org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:transformClassesWithDexForDebug'.
20:15:12.503 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
20:15:12.503 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
20:15:12.505 [ERROR] [org.gradle.BuildExceptionReporter] Caused by: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/usr/local/java/jdk1.8.0_72/bin/java'' finished with non-zero exit value 1
20:15:12.505 [ERROR] [org.gradle.BuildExceptionReporter] at com.android.ide.common.internal.WaitableExecutor.waitForTasksWithQuickFail(WaitableExecutor.java:119)
20:15:12.505 [ERROR] [org.gradle.BuildExceptionReporter] at com.android.build.gradle.internal.transforms.DexTransform.transform(DexTransform.java:349)
20:15:12.505 [ERROR] [org.gradle.BuildExceptionReporter] at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:151)
20:15:12.506 [ERROR] [org.gradle.BuildExceptionReporter] at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:148)
20:15:12.506 [ERROR] [org.gradle.BuildExceptionReporter] at com.android.builder.profile.ThreadRecorder$1.record(ThreadRecorder.java:55)
20:15:12.506 [ERROR] [org.gradle.BuildExceptionReporter] at com.android.builder.profile.ThreadRecorder$1.record(ThreadRecorder.java:47)
20:15:12.506 [ERROR] [org.gradle.BuildExceptionReporter] at com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:147)
20:15:12.506 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
20:15:12.506 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.doExecute(AnnotationProcessingTaskFactory.java:244)
20:15:12.506 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:220)
20:15:12.506 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.execute(AnnotationProcessingTaskFactory.java:231)
20:15:12.506 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:209)
20:15:12.506 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
20:15:12.506 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
20:15:12.506 [ERROR] [org.gradle.BuildExceptionReporter] ... 70 more
20:15:12.506 [ERROR] [org.gradle.BuildExceptionReporter] Caused by: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/usr/local/java/jdk1.8.0_72/bin/java'' finished with non-zero exit value 1
20:15:12.506 [ERROR] [org.gradle.BuildExceptionReporter] at com.android.build.gradle.internal.process.GradleProcessResult.assertNormalExitValue(GradleProcessResult.java:42)
20:15:12.506 [ERROR] [org.gradle.BuildExceptionReporter] at com.android.builder.core.AndroidBuilder.preDexLibrary(AndroidBuilder.java:1454)
20:15:12.506 [ERROR] [org.gradle.BuildExceptionReporter] at com.android.builder.internal.compiler.PreDexCache.preDexLibrary(PreDexCache.java:122)
20:15:12.506 [ERROR] [org.gradle.BuildExceptionReporter] at com.android.builder.core.AndroidBuilder.preDexLibrary(AndroidBuilder.java:1399)
20:15:12.506 [ERROR] [org.gradle.BuildExceptionReporter] at com.android.build.gradle.internal.transforms.DexTransform$PreDexTask.call(DexTransform.java:456)
20:15:12.506 [ERROR] [org.gradle.BuildExceptionReporter] at com.android.build.gradle.internal.transforms.DexTransform$PreDexTask.call(DexTransform.java:410)
20:15:12.506 [ERROR] [org.gradle.BuildExceptionReporter] Caused by: org.gradle.process.internal.ExecException: Process 'command '/usr/local/java/jdk1.8.0_72/bin/java'' finished with non-zero exit value 1
20:15:12.506 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.process.internal.DefaultExecHandle$ExecResultImpl.assertNormalExitValue(DefaultExecHandle.java:367)
20:15:12.506 [ERROR] [org.gradle.BuildExceptionReporter] at com.android.build.gradle.internal.process.GradleProcessResult.assertNormalExitValue(GradleProcessResult.java:40)

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/usr/local/java/jdk1.8.0_72/bin/java'' finished with non-zero exit value 1

最佳答案

您尝试添加到您的 Android 项目 中的 .jar 文件是使用您在您的项目中使用的不同 java 编译器 编译的Android 项目

可能存在这样的情况,您当前正在使用 java v1.8(根据您的 StackTrace)

com.android.ide.common.process.ProcessException: 
org.gradle.process.internal.ExecException:
Process 'command '/usr/local/java/jdk1.8.0_72/bin/java''
finished with non-zero exit value 1

但是您正在使用的jar 是在java 的任何较低版本 中编译的(例如-jdk1.7 或更低版本)。这个问题出现在 eclipse 中,被称为 major - minor version Exception。请将您的 jar 替换为任何 Jar。


我究竟做了什么来解决我的问题:

In Android Studio --> Module Settings --> Properties --> change 'Source Compatibility' and 'Target Compatibility' to Java 1.7

and in my Eclipse Project --> Build Path --> Configure Build Path --> Edit JRE System Library to 1.7 as well

recompile the library and use that one in Android Studio then clean and rebuild the project in Android Studio.

关于java - 如何创建可在 Android-Studio 项目中使用的 jar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35819195/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com