Gradle build error

Hi everyone!
Having strange error while build project.
In one of four computers. Three others comps compile it fine. And all four computers compile our another projects fine. Only one project. Only one computer have error. Can’t find why.
Soft are similar

Unity3d 5.6.5 x64
Win10 x64
Java 8u91
Android packages

Error text

CommandInvokationFailure: Gradle build failed.
C:/Program Files/Java/jdk1.8.0_91\bin\java.exe -classpath “D:\Soft\Unity 5.6.5\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-2.14.jar” org.gradle.launcher.GradleMain “assembleRelease”

stderr[
Dex: Error converting bytecode to dex:
Cause: Dex cannot parse version 52 byte code.
This is caused by library dependencies that have been compiled using Java 8 or above.
If you are using the ‘java’ gradle plugin in a library submodule add
targetCompatibility = ‘1.7’
sourceCompatibility = ‘1.7’
to that submodule’s build.gradle file.
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.RuntimeException: Exception parsing classes
at com.android.dx.command.dexer.Main.processClass(Main.java:761)
at com.android.dx.command.dexer.Main.processFileBytes(Main.java:727)
at com.android.dx.command.dexer.Main.access$1200(Main.java:87)
at com.android.dx.command.dexer.Main$FileBytesConsumer.processFileBytes(Main.java:1655)
at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
at com.android.dx.command.dexer.Main.processOne(Main.java:681)
at com.android.dx.command.dexer.Main.processAllFiles(Main.java:578)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:315)
at com.android.dx.command.dexer.Main.run(Main.java:286)
at com.android.builder.internal.compiler.DexWrapper.run(DexWrapper.java:52)
at com.android.builder.core.AndroidBuilder$2.call(AndroidBuilder.java:1511)
at com.android.builder.core.AndroidBuilder$2.call(AndroidBuilder.java:1507)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)
at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472)
at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)
at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)
at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)
at com.android.dx.command.dexer.Main.parseClass(Main.java:773)
at com.android.dx.command.dexer.Main.access$1600(Main.java:87)
at com.android.dx.command.dexer.Main$ClassParserTask.call(Main.java:1694)
at com.android.dx.command.dexer.Main.processClass(Main.java:758)
… 17 more

1 error; aborting

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ‘:transformClassesWithDexForRelease’.

com.android.build.api.transform.TransformException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: Return code 1 for dex process

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
    ]
    stdout[
    Incremental java compilation is an incubating feature.
    :preBuild UP-TO-DATE
    :preReleaseBuild UP-TO-DATE
    :checkReleaseManifest
    :preDebugBuild UP-TO-DATE
    :Firebase:preBuild UP-TO-DATE
    :Firebase:preReleaseBuild UP-TO-DATE
    :Firebase:compileReleaseNdk UP-TO-DATE
    :Firebase:compileLint
    :Firebase:copyReleaseLint UP-TO-DATE
    :Firebase:mergeReleaseProguardFiles
    :Firebase:packageReleaseRenderscript UP-TO-DATE
    :Firebase:checkReleaseManifest
    :Firebase:prepareReleaseDependencies
    :Firebase:compileReleaseRenderscript
    :Firebase:generateReleaseResValues
    :Firebase:generateReleaseResources
    :Firebase:packageReleaseResources
    :Firebase:compileReleaseAidl
    :Firebase:generateReleaseBuildConfig
    :Firebase:mergeReleaseShaders
    :Firebase:compileReleaseShaders
    :Firebase:generateReleaseAssets
    :Firebase:mergeReleaseAssets
    :Firebase:processReleaseManifest
    :Firebase:processReleaseResources
    :Firebase:generateReleaseSources
    :Firebase:incrementalReleaseJavaCompilationSafeguard
    :Firebase:compileReleaseJavaWithJavac
    :Firebase:processReleaseJavaRes UP-TO-DATE
    :Firebase:transformResourcesWithMergeJavaResForRelease
    :Firebase:transformClassesAndResourcesWithSyncLibJarsForRelease
    :Firebase:mergeReleaseJniLibFolders
    :Firebase:transformNative_libsWithMergeJniLibsForRelease
    :Firebase:transformNative_libsWithSyncJniLibsForRelease
    :Firebase:bundleRelease
    :unity-android-resources:preBuild UP-TO-DATE
    :unity-android-resources:preReleaseBuild UP-TO-DATE
    :unity-android-resources:compileReleaseNdk UP-TO-DATE
    :unity-android-resources:compileLint
    :unity-android-resources:copyReleaseLint UP-TO-DATE
    :unity-android-resources:mergeReleaseProguardFiles
    :unity-android-resources:packageReleaseRenderscript UP-TO-DATE
    :unity-android-resources:checkReleaseManifest
    :unity-android-resources:prepareReleaseDependencies
    :unity-android-resources:compileReleaseRenderscript
    :unity-android-resources:generateReleaseResValues
    :unity-android-resources:generateReleaseResources
    :unity-android-resources:packageReleaseResources
    :unity-android-resources:compileReleaseAidl
    :unity-android-resources:generateReleaseBuildConfig
    :unity-android-resources:mergeReleaseShaders
    :unity-android-resources:compileReleaseShaders
    :unity-android-resources:generateReleaseAssets
    :unity-android-resources:mergeReleaseAssets
    :unity-android-resources:processReleaseManifest
    :unity-android-resources:processReleaseResources
    :unity-android-resources:generateReleaseSources
    :unity-android-resources:incrementalReleaseJavaCompilationSafeguard
    :unity-android-resources:compileReleaseJavaWithJavac
    :unity-android-resources:processReleaseJavaRes UP-TO-DATE
    :unity-android-resources:transformResourcesWithMergeJavaResForRelease
    :unity-android-resources:transformClassesAndResourcesWithSyncLibJarsForRelease
    :unity-android-resources:mergeReleaseJniLibFolders
    :unity-android-resources:transformNative_libsWithMergeJniLibsForRelease
    :unity-android-resources:transformNative_libsWithSyncJniLibsForRelease
    :unity-android-resources:bundleRelease
    :prepareAnimatedVectorDrawable2340Library
    :prepareAppcompatV72340Library
    :prepareCardviewV72340Library
    :prepareCommonLibrary
    :prepareCustomtabs2340Library
    :prepareFacebookAndroidSdk4170Library
    :prepareFacebookAndroidWrapper794Library
    :prepareFirebaseAnalytics1180Library
    :prepareFirebaseAnalyticsImpl1180Library
    :prepareFirebaseAnalyticsImplLicense1180Library
    :prepareFirebaseAnalyticsLicense1180Library
    :prepareFirebaseAnalyticsUnity440Library
    :prepareFirebaseAppUnity440Library
    :prepareFirebaseCommon1180Library
    :prepareFirebaseCommonLicense1180Library
    :prepareFirebaseCore1180Library
    :prepareFirebaseIid1180Library
    :prepareFirebaseIidLicense1180Library
    :prepareFirebaseMessaging1180Library
    :prepareFirebaseMessagingLicense1180Library
    :prepareFirebaseMessagingUnity440Library
    :prepareGoogleAIDLLibrary
    :prepareGooglePlayLibrary
    :prepareGradleOutFirebaseUnspecifiedLibrary
    :prepareGradleOutUnityAndroidResourcesUnspecifiedLibrary
    :preparePlayServicesBase1180Library
    :preparePlayServicesBaseLicense1180Library
    :preparePlayServicesBasement1180Library
    :preparePlayServicesBasementLicense1180Library
    :preparePlayServicesTasks1180Library
    :preparePlayServicesTasksLicense1180Library
    :prepareSupportCompat2520Library
    :prepareSupportCoreUi2520Library
    :prepareSupportCoreUtils2520Library
    :prepareSupportFragment2520Library
    :prepareSupportMediaCompat2520Library
    :prepareSupportV42520Library
    :prepareSupportVectorDrawable2340Library
    :prepareReleaseDependencies
    :compileReleaseAidl
    :compileReleaseRenderscript
    :generateReleaseBuildConfig
    :mergeReleaseShaders
    :compileReleaseShaders
    :generateReleaseAssets
    :mergeReleaseAssets
    :generateReleaseResValues
    :generateReleaseResources
    :mergeReleaseResources
    :processReleaseManifest
    D:\Work\Unity\project\Temp\gradleOut\src\main\AndroidManifest.xml:49:3-140 Warning:
    uses-permission#android.permission.READ_PHONE_STATE was tagged at AndroidManifest.xml:49 to remove other declarations but no other declaration present
    D:\Work\Unity\project\Temp\gradleOut\src\main\AndroidManifest.xml:50:3-146 Warning:
    uses-permission#android.permission.WRITE_EXTERNAL_STORAGE was tagged at AndroidManifest.xml:50 to remove other declarations but no other declaration present
    D:\Work\Unity\project\Temp\gradleOut\src\main\AndroidManifest.xml:51:3-145 Warning:
    uses-permission#android.permission.READ_EXTERNAL_STORAGE was tagged at AndroidManifest.xml:51 to remove other declarations but no other declaration present
    :processReleaseResources
    :generateReleaseSources
    :incrementalReleaseJavaCompilationSafeguard
    :compileReleaseJavaWithJavac
    :compileReleaseNdk UP-TO-DATE
    :compileReleaseSources
    :lintVitalRelease
    :prePackageMarkerForRelease
    :transformClassesWithDexForRelease FAILED

BUILD FAILED

Total time: 26.028 secs
]
exit code: 1
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.GradleWrapper.RunJava (System.String args, System.String workingdir, UnityEditor.Android.Progress progress)
Rethrow as GradleInvokationException: Gradle build failed
UnityEditor.Android.GradleWrapper.RunJava (System.String args, System.String workingdir, UnityEditor.Android.Progress progress)
UnityEditor.Android.GradleWrapper.Run (System.String workingdir, System.String task, UnityEditor.Android.Progress progress)
UnityEditor.Android.PostProcessor.Tasks.BuildGradleProject.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.HostView:OnGUI()

any ideas?

anybody?

From the error message it seems that one of the plugins in your project was compiled with source / target flags set to 1.8, while the gradle plugin supports only source / target 1.7. I don’t know why it would happen only on a single computer if everything is identical between different computers. Did you change anything (upgraded Unity / android sdk / java / custom plugins) before this issue started happening?

Hi Julius, I’m having the same issue as Seraphim. I thought the same thing about the meaning of the error message, but I wasn’t sure how to debug further. Are there any tools I can use to dump out the flags that were used to compile each of the plugins in my projects? Doing a bit of googling, I could write a script that would:
foreach (aar, jar plugin in project)
unpackage, get all .class files
foreach class
javap -verbose and check the major version numbers, verifying that they are all 51?

if there’s a faster way, I’m all ears - that sounds like a pain :wink:

edit: Yep, that was it! I was javac’ing a home-grown plugin without any source / target flags. I’m using JDK 8, so I guess it would have used 1.8 by default. I recompiled the plugin with -source 1.7 and -target 1.7, and the gradle build is working fine now.

Hi! can you share that script?

Yep!
It so.
One of our plugin was compiled with 1.8 Java.
After rebuild with 1.7 libraries changed 1 bit in code and now all working perfect.
Thanks a lot!