2014-05-03 2 views
8

I 3dProguard mit Unity3d Rückkehr Fehlercode 1

In meinem Projekt der proguard 4.11 mit der Einheit verwendet, habe ich umfasse die Einheit-classes.jar in meinem libs Ordner

Wenn ich erzeugen die apk, gibt es die folgende Ausnahme

[2014-05-03 14:33:41 - FBUnityPlayerActivity] Proguard returned with error code 1. See console 
[2014-05-03 14:33:41 - FBUnityPlayerActivity] java.io.IOException: Can't read [C:\Users\TAT\Desktop\quick\FBUnityPlayerActivity\libs\unity-classes.jar] (Can't process class [com/unity3d/player/UnityPlayer.class] (Unknown verification type [195] in stack map frame)) 
[2014-05-03 14:33:41 - FBUnityPlayerActivity] at proguard.InputReader.readInput(InputReader.java:232) 
[2014-05-03 14:33:41 - FBUnityPlayerActivity] at proguard.InputReader.readInput(InputReader.java:202) 
[2014-05-03 14:33:41 - FBUnityPlayerActivity] at proguard.InputReader.readInput(InputReader.java:180) 
[2014-05-03 14:33:41 - FBUnityPlayerActivity] at proguard.InputReader.execute(InputReader.java:78) 
[2014-05-03 14:33:41 - FBUnityPlayerActivity] at proguard.ProGuard.readInput(ProGuard.java:196) 
[2014-05-03 14:33:41 - FBUnityPlayerActivity] at proguard.ProGuard.execute(ProGuard.java:78) 
[2014-05-03 14:33:41 - FBUnityPlayerActivity] at proguard.ProGuard.main(ProGuard.java:483) 
[2014-05-03 14:33:41 - FBUnityPlayerActivity] Caused by: java.io.IOException: Can't process class [com/unity3d/player/UnityPlayer.class] (Unknown verification type [195] in stack map frame) 
[2014-05-03 14:33:41 - FBUnityPlayerActivity] at proguard.io.ClassReader.read(ClassReader.java:112) 
[2014-05-03 14:33:41 - FBUnityPlayerActivity] at proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87) 
[2014-05-03 14:33:41 - FBUnityPlayerActivity] at proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87) 
[2014-05-03 14:33:41 - FBUnityPlayerActivity] at proguard.io.JarReader.read(JarReader.java:65) 
[2014-05-03 14:33:41 - FBUnityPlayerActivity] at proguard.io.DirectoryPump.readFiles(DirectoryPump.java:65) 
[2014-05-03 14:33:41 - FBUnityPlayerActivity] at proguard.io.DirectoryPump.pumpDataEntries(DirectoryPump.java:53) 
[2014-05-03 14:33:41 - FBUnityPlayerActivity] at proguard.InputReader.readInput(InputReader.java:228) 
[2014-05-03 14:33:41 - FBUnityPlayerActivity] ... 6 more 
[2014-05-03 14:33:41 - FBUnityPlayerActivity] Caused by: java.lang.RuntimeException: Unknown verification type [195] in stack map frame 
[2014-05-03 14:33:41 - FBUnityPlayerActivity] at proguard.classfile.io.ProgramClassReader.createVerificationType(ProgramClassReader.java:890) 
[2014-05-03 14:33:41 - FBUnityPlayerActivity] at proguard.classfile.io.ProgramClassReader.visitFullFrame(ProgramClassReader.java:659) 
[2014-05-03 14:33:41 - FBUnityPlayerActivity] at proguard.classfile.attribute.preverification.FullFrame.accept(FullFrame.java:114) 
[2014-05-03 14:33:41 - FBUnityPlayerActivity] at proguard.classfile.io.ProgramClassReader.visitStackMapTableAttribute(ProgramClassReader.java:452) 
[2014-05-03 14:33:41 - FBUnityPlayerActivity] at proguard.classfile.attribute.preverification.StackMapTableAttribute.accept(StackMapTableAttribute.java:71) 
[2014-05-03 14:33:41 - FBUnityPlayerActivity] at proguard.classfile.io.ProgramClassReader.visitCodeAttribute(ProgramClassReader.java:422) 
[2014-05-03 14:33:41 - FBUnityPlayerActivity] at proguard.classfile.attribute.CodeAttribute.accept(CodeAttribute.java:101) 
[2014-05-03 14:33:41 - FBUnityPlayerActivity] at proguard.classfile.io.ProgramClassReader.visitProgramMethod(ProgramClassReader.java:200) 
[2014-05-03 14:33:41 - FBUnityPlayerActivity] at proguard.classfile.io.ProgramClassReader.visitProgramClass(ProgramClassReader.java:142) 
[2014-05-03 14:33:41 - FBUnityPlayerActivity] at proguard.classfile.ProgramClass.accept(ProgramClass.java:346) 
[2014-05-03 14:33:41 - FBUnityPlayerActivity] at proguard.io.ClassReader.read(ClassReader.java:91) 
[2014-05-03 14:33:41 - FBUnityPlayerActivity] ... 12 more 

ich bereits versucht haben

-libraryjars /libs/unity-classes.jar 
-keep class com.unity3d.** { *; } 
-dontwarn com.unity3d.** 
mit

in der proguard-project.txt, immer noch das gleiche, wie es zu beheben? Danke für die Hilfe

sogar versucht

-keep Klasse com ** {*. }

immer noch die gleichen

+0

Ich bin genau die gleiche Fehlermeldung bekommen. Hast du Fortschritte dabei gemacht? – Eric

+0

Gleicher Fehler hier. Ich kann die Problemumgehung nicht finden –

+1

Endlich habe ich das Proguard-Jar geändert, es scheint der Fehler von Unity zu sein – user782104

Antwort

6

eine frühere Frage auf Proguard errors with unity-classes.jar See.

Dies ist ein Problem mit den Klassen in der Unity-Bibliothek: Einige Metadaten für die Vorüberprüfung sind beschädigt. Sie sollten prüfen, ob es eine neuere Version gibt. Andernfalls können Sie ProGuard so ändern, dass die beschädigten Klassen akzeptiert werden, wie unter issue tracker beschrieben.

Beachten Sie, dass Sie -libraryjars oder -injars nicht zu Ihrer Konfiguration hinzufügen sollten. Der Android-Build-Prozess (Ant, Eclipse, Gradle) gibt diese Optionen bereits für Sie an.

+0

Das sieht wie eine [tag: libgdx] -Konfig aus, nicht Unity. – Tenfour04

+0

@ Tenfour04 Sie haben Recht; mein Fehler - ich werde es wieder entfernen. –

3

Versuchen Sie, diese proguard-project.txt in Ihrer hinzufügen:

-keep class com.unity3d.** { *; } 
-keep class org.fmod.** { *; }