1

I made a small Unity game for android that displays an ad after the player dies five times. Before implementing Unity Ads I was able to create apks.

When I implemented the ads(via the services tab) in test mode(By enabling the built in ads extension extension) I decided to also implement in app purchasing(also via the services tab). When I imported the related assets I decided to generate a new apk to test out the ads on an android device. It was then when I encountered the below error.

I tried to remove the iap assets and re-import my current assets but to no avail. After messing around importing and re-importing suddenly Advertisement.IsReady stopped returning true in the editor.

Looking around google one the reasons is duplicate jar files. Oddly enough, instead of jar files my project has aar files of which I do not have duplicates.

I am a bit stumped as how to fix this issue.

CommandInvokationFailure: Unable to convert classes into dex format.
C:\Program Files\Java\jdk1.7.0_79\bin\java.exe -Xmx2048M -Dcom.android.sdkmanager.toolsdir="C:/Users/MyUser/AppData/Local/Android/sdk\tools" -Dfile.encoding=UTF8 -jar "C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\sdktools.jar" -

stderr[
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major.minor version 52.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:274)
    at SDKMain.main(SDKMain.java:127)
]
stdout[

]
exit code: 1
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.AndroidSDKTools.RunCommandInternal (System.String javaExe, System.String sdkToolsDir, System.String[] sdkToolCommand, Int32 memoryMB, System.String workingdir, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.AndroidSDKTools.RunCommandSafe (System.String javaExe, System.String sdkToolsDir, System.String[] sdkToolCommand, Int32 memoryMB, System.String workingdir, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.HostView:OnGUI()

.aar files Unity Version

Drahcir
  • 12,311
  • 19
  • 63
  • 76

1 Answers1

0

Unsupported major.minor version 52.0

This is telling you that the classes were compiled with the JDK for Java 8. (Source) However, your JDK is for Java 7 (C:\Program Files\Java\jdk1.7.0_79\bin\java.exe). Download and install a newer JDK and try again.

Community
  • 1
  • 1
Code-Apprentice
  • 81,660
  • 23
  • 145
  • 268