1

proguard 正在用这样的消息杀死我:

“[proguard] 警告:类 [facebook/bin/classes/com/facebook/internal/FileLruCache$StreamHeader.class] 意外包含类 [com.facebook.internal.FileLruCache$StreamHeader]”

最后的警告是:

[proguard] 警告:错误命名的文件中有 332 个类。[proguard] 你应该确保所有的文件名都与它们的类名相对应。[proguard] 目录层次结构必须与包层次结构相对应。[proguard] 如果你不介意没有写出提到的类,[proguard]
你可以使用'-ignorewarnings' 选项试试运气。

在我看来,我没有调整我正在使用的库项目(如 facebook)和 proguard。

我真的不想混淆 lib 项目,但是这些行

-keep class com.facebook.** { *; }

-keep interface com.facebook.** { *; }

不这样做的伎俩。

你能告诉我那个吗?谢谢

4

2 回答 2

0

参照。ProGuard 手册 > 疑难解答 >警告:类文件...意外包含类...

您的配置似乎包含一个 -injars 选项,它不指向包和类的根目录(.../facebook/bin/classes)。

但是,标准的 Android 构建过程已经为您指定了所有必要的 -injars 选项,因此您不应添加任何选项。

于 2013-02-08T23:53:35.310 回答
0

好的,我在 proguard 配置文件中使用了许多 -dontwarn 选项。

此外,我不会混淆不在我的主包中的任何内容(-keepclass !com.yyy.** { *; } 和 keepinterface)。这似乎工作得很好。

于 2013-02-12T13:28:14.113 回答