0

Unity Version - 5.4.1 p2

In Unity Build settings, I have Android 4.0.3 Ice cream sandwich as the minimum api level,

JDK version = 1.7

I was able to take build with Unity 5.3.x, After upgrading to Unity 5.4.x, I am not able to publish for Android. Getting the below error.

CommandInvokationFailure: Unable to convert classes into dex format.
C:\Program Files\Java\jdk1.7.0_40\bin\java.exe -Xmx2048M -Dcom.android.sdkmanager.toolsdir
="E:/adt-bundle-windows-x86_64/adt-bundle-windows-x86_64-20140702/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:792)
    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:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:270)
    at SDKMain.main(SDKMain.java:127)
]
stdout[

]
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.BuildPlayerWindow:BuildPlayerAndRun()

UPDATE 1:

Upgraded google play services and andrid sdk tools to 24.x. Now I am getting the below error.

 CommandInvokationFailure: Unable to convert classes into dex format.
C:/Program Files/Java/jdk1.8.0_101\bin\java.exe -Xmx2048M -Dcom.android.sdkmanager.toolsdir="E:/adt-bundle-windows-x86_64/adt-bundle-windows-x86_64-20140702/sdk\tools" -Dfile.encoding=UTF8 -jar "C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\sdktools.jar" -

stderr[
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/internal/zzbn;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/firebase/FirebaseApiNotAvailableException;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/firebase/FirebaseException;
3 errors; aborting
]

Those 3 libraries are already a part of some other libraries... Now I have to find the conflict and remove them

Kenshin
  • 1,030
  • 2
  • 12
  • 41
  • 1
    Simply launch your code with java 8 instead of java 7 – Nicolas Filotto Oct 08 '16 at 11:46
  • Nicolas, its not duplicate, its unity specific and depends on google play services, android sdk tools. I upgraded to java 8 as you suggested... I am still getting class not supported exception for different libraries, I think I have to upgrade that libraries as well.... let me try that – Kenshin Oct 08 '16 at 13:13
  • OK, it is reopened, good luck – Nicolas Filotto Oct 08 '16 at 13:41

0 Answers0