Я использую 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;
}
}
Сначала создается библиотека с интерфейсом, а вторая - против запутанной версии. К сожалению, компиляция не удалась на @Override
, поскольку в интерфейсе нет условия throws.
У меня есть proguard, поддерживающий интерфейс и всех его участников, но я не могу понять, как сохранить предложение throws.