0

我有来自 Unity3d 的 classes.jar 包含在我的 Android Studio 项目的 libs 文件夹中。如果我启用 proguard,我无法构建它。缩小启用真

我的 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)] (无法处理类 [org /fmod/FMODAudioDevice.class] (256))

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

未解决的库类成员

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

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

4

1 回答 1

0

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

于 2015-10-09T19:00:56.673 回答