所以基本上我需要将ProGuard用于我的应用程序。但我正在使用反射来防止使用巨大的if / else语句。所以我这样做是基于State。我有各种基于州的方法。命名为:
ExtractBy<ST>State()
所以在我的课堂上,我有各种基于各种状态的方法:
ExtractByDCState();
ExtractByALState();
ExtractByAZState();
这在未在ProGuard中运行时有效。但是当我使用ProGuard时,我的方法名称会改变并破坏我的项目。如果不是因为例外不起作用,那就不会那么糟糕。我的替代方案是使用巨大的if / else或case结构,但我希望尽可能防止这种情况。以下是我在ProGuard规则文件中添加的例外情况:
-keep public class com.app.parsers.StateParsers{
<methods>;
}
我已经尝试按名称添加单个方法,不起作用,我已经尝试对所有私有方法执行它并且它不起作用,我尝试了不同的关键字,但它不起作用。在这一点上,我只需要知道我做错了什么我的异常阻止了这一点。我已经使用了keepclasseswithnames和其他一些东西。