android – 带有Unity3d的Proguard返回错误代码1

我正在使用带有Unity 3d的proguard 4.11

在我的项目中,我在我的libs文件夹中包含了unity-classes.jar

当我生成apk时,它会给出以下异常

[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

我已经尝试过使用了

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

在proguard-project.txt中,还是一样,如何解决?谢谢你的帮助

甚至尝试过

-keep class com.** {*; }

还是一样

解决方法

请参阅 Proguard errors with unity-classes.jar的早期问题.

这是Unity库中的类的问题:一些预验证元数据已损坏.您应该检查是否有更新的版本.否则,您可以修改ProGuard以接受损坏的类,如其issue tracker所述.

请注意,不应将-libraryjars或-injars添加到配置中. Android构建过程(Ant,Eclipse,Gradle)已经为您指定了这些选项.

相关文章

前言 本文记录unity3D开发环境的搭建 unity安装 unity有中文...
前言 有时候我们希望公告牌跟随镜头旋转永远平行面向屏幕,同...
前言 经过一段时间的学习与实际开发,unity3D也勉强算是强行...
前言 在unity中我们常用的获取鼠标点击的方法有: 1、在3D场...
前言 在之前的例子中,我们都没有用到unity的精髓,例如地形...
这篇文章将为大家详细讲解有关Unity3D中如何通过Animator动画...