使用Can不要处理类[org / fmod / FMODAudioDevice.class]启用Proguard失败

时间:2015-07-22 14:58:14

标签: android unity3d proguard android-proguard

我将Unity3中的classes.jar包含在Android Studio的Project的libs文件夹中。 如果我启用proguard,我无法构建它。 minifyEnabled true

我的build.grade有依赖

            dependencies {
            compile 'com.google.android.gms:play-services:+'
            compile files('libs/classes.jar')
            }

proguard-rules文件有

            -dontwarn org.fmod.**
            -keep  class com.unity3d.** { *; }
            -keep  class org.fmod.** { *; }
            -keepclassmembers   class com.unity3d.player.** { *; }
            -keepclassmembers   class org.fmod.** { *; }
            -libraryjars !libs/classes.jar(!org/fmod/FMODAudioDevice.class)

检查proguard网站是否有-libraryjars!没有帮助。

以下是构建错误。

错误:任务执行失败':Android:proguardRelease'。

  

java.io.IOException:无法读取[/Users/me/after_android_studio/src/libs/classes.jar(;;;;;;!META-INF/MANIFEST.MF)](可以&# 39; t process class [org / fmod / FMODAudioDevice.class](256))

我搜索了类似的问题。但我无法阅读以下网址。

unresolvedlibraryclassmember

http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass

http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedlibraryclassmember

1 个答案:

答案 0 :(得分:0)

检查jar文件是不是很奇怪或以某种方式损坏。我在处理相同的错误消息时遇到了您的问题,但是对于不同的jar文件。我刚刚发现我正在与之战斗的jar包含一个名为" VCardProvider.class"的目录条目。由于它实际上是一个目录,ProGuard无法读取" .class"文件。也许ProGuard不应该失败(毕竟它不是一个文件),但修复jar解决了这个问题。