首页 文章

Android proguard和库项目

提问于
浏览
1

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 回答

  • 0

    (CFR) . ProGuard手册>故障排除> Warning: class file ... unexpectedly contains class ...

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

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

  • 0

    好的,我在proguard配置文件中修复了许多-dontwarn选项 .

    另外,我不会混淆任何不在我的主程序包中的东西(-keepclass!com.yyy . ** {*;}和keepinterface) . 这看起来效果很好 .

相关问题