带有throws子句的混淆方法
我正在使用ProGuard来混淆我的代码。 我的项目由几个模块组成,每个模块都独立进行模糊处理。
一个库包括一个接口;
public interface IFace { public int methodA(boolean b) throws CustomException; }
另一个库提供了一个实现
public class IFaceImpl implements IFace { @Override public int methodA(boolean b) throws CustomException { return 0; } }
首先构建具有接口的库,然后针对混淆版本构建第二个库。 不幸的是,由于接口没有throws子句,编译在@Override
上失败。
我有proguard保持接口及其所有成员,但我无法弄清楚如何保持throws条款。
我想到了。
-keepattributes Exceptions
Maven示例:
com.github.wvengen proguard-maven-plugin 2.0.6 net.sf.proguard proguard-base 4.10 package proguard 4.10 ${java.home}/lib/rt.jar ${java.home}/lib/jce.jar ${java.home}/lib/jsse.jar