使用 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 子句。
I'm using ProGuard to obfuscate my code. My project is comprised of a few modules, each obfuscated independently.
One library includes an interface;
public interface IFace {
public int methodA(boolean b) throws CustomException;
}
Another library provides an implmentation
public class IFaceImpl implements IFace {
@Override
public int methodA(boolean b) throws CustomException {
return 0;
}
}
The library with the interface is built first, and the second is built against the obfuscated version. Unfortunately the compile fails on the @Override
as the interface does not have the throws clause.
I have proguard keeping the interface and all its members, but I can't figure out how to keep the throws clause.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我想到了。
-keepattributes 异常
I figured it out.
-keepattributes Exceptions
使用 Maven 的示例:
Example with Maven: