proguard用这样的消息杀了我:
“[proguard]警告:类[facebook / bin / classes / com / facebook / internal / FileLruCache $ StreamHeader.class]意外地包含类[com.facebook.internal.FileLruCache $ StreamHeader]”
最后的警告是:
[proguard]警告:错误命名的文件中有332个类 . [proguard]您应该确保所有文件名都与其类名相对应 . [proguard]目录层次结构必须与包层次结构相对应 . [proguard]如果你不介意提到的课程没有被写出来,[proguard]你可以尝试使用'-ignorewarnings'选项来运气 .
在我看来,我没有使用proguard调整我正在使用的库项目(如facebook) .
我真的不想混淆lib项目,但行
-keep class com.facebook . ** {; -keep interface com.facebook . ** {; }
不要做的伎俩 .
你能开导我那个吗?谢谢
2 回答
(CFR) . ProGuard手册>故障排除> Warning: class file ... unexpectedly contains class ...
您的配置似乎包含-injars选项,该选项不指向包和类的根目录(... / facebook / bin / classes) .
但是,标准的Android构建过程已经为您指定了所有必需的-injars选项,因此您不应添加任何选项 .
好的,我在proguard配置文件中修复了许多-dontwarn选项 .
另外,我不会混淆任何不在我的主程序包中的东西(-keepclass!com.yyy . ** {*;}和keepinterface) . 这看起来效果很好 .