我正在使用Unity5,JDK 1.8,我正在构建min android sdk = 10和max = 22.
我可以毫无问题地进行开发构建,但是当我尝试为Google Play商店创建.apk文件时,我收到了错误。
错误日志:
CommandInvokationFailure: Unable to convert classes into dex format. See the Console for details.
F:/Java/JDK\bin\java.exe -Xmx2048M -Dcom.android.sdkmanager.toolsdir="F:/Android/SDK\tools" -Dfile.encoding=UTF8 -jar "F:/Programs/Unity5/Editor/Data/BuildTargetTools/AndroidPlayer\sdktools.jar" -
stderr[
UNEXPECTED TOP-LEVEL EXCEPTION:
java.util.zip.ZipException: zip file is empty
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:220)
at java.util.zip.ZipFile.<init>(ZipFile.java:150)
at java.util.zip.ZipFile.<init>(ZipFile.java:164)
at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:244)
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:632)
at com.android.dx.command.dexer.Main.processAllFiles(Main.java:510)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:280)
at com.android.dx.command.dexer.Main.run(Main.java:246)
at com.android.dx.command.dexer.Main.main(Main.java:215)
at com.android.dx.command.Main.main(Main.java:106)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at SDKMain.main(SDKMain.java:129)
1 error; aborting
]
然后很多行像“processnig [路径到.class文件]”。
我尝试过切换到JDK 1.7,但无济于事。
我认为我已经消除了多个插件错误的可能性,因为没有重复的.jar。
任何想法导致了什么?
答案 0 :(得分:1)
解决!
由于某些原因,Unity程序文件夹中的classes.jar文件已损坏,我将其替换为我在Android Studio项目中的文件,现在它可以正常工作。
答案 1 :(得分:0)
试试这个。
在我的项目中有两个androidAppCompact文件,分别是1.0.6和1.0.7。我删除了1.0.6,现在工作正常