2

My Situation: I have created a Android-Studio Project with a sample Activity from Android-Studio. I created a jar (not executable) with following these steps in eclipse(neon) with just one class and followed the steps of this answer to include that jar. In the onCreate() method of my Activity I use the code in my jar by calling it's constructor.

My Problem/Question: What is my Problem or where should I look? Do I create my jar in a wrong way or is there something in Android Studio I'm missing?

Android Studio Message:

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 Console (with '--stacktrace' option but I've shortened the message a little):

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
Community
  • 1
  • 1
giro
  • 421
  • 1
  • 7
  • 19
  • have u tried this http://stackoverflow.com/questions/34703059/unable-to-fix-parseexception-bad-class-file-magic-cafebabe-or-version-0034 – Vikrant Kashyap Mar 05 '16 at 20:50

1 Answers1

1

The .jarFile which you are trying to add to your Android Project is compiled with different java compiler which you are using in your Android Project.

There may be situation like that you are currently using java v1.8 (As per Your 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

but the jar that you are using is compiled in any lower version of java (eg -jdk1.7 or lower). This problem came in eclipse is known as major - minor version Exception. Please replace your older jar with any new Jar.


What I did exactly to solve my problem:

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.

Community
  • 1
  • 1
Vikrant Kashyap
  • 6,398
  • 3
  • 32
  • 52
  • I changed my build path in eclipse to JavaSE 1.8. And I still get the same errors when I use the jar.Both Android Studio and Eclipse use the same JDK 1.8.0_72 – giro Mar 05 '16 at 20:43
  • you are actually using `java1.8` earlier too. Please try to update your newly `third party jar` or use lower version of `Java` bcoz in java 1.8 and 1.7 is very different. Read this https://www.quora.com/What-are-some-major-differences-between-Java-7-and-8 – Vikrant Kashyap Mar 05 '16 at 20:47
  • Please re-compile all the codes after changing the `jdk version` then only try to test it on android.. Thanks.. – Vikrant Kashyap Mar 05 '16 at 20:49
  • great advice. Thanks. – giro Mar 05 '16 at 21:55