我正在尝试为我的应用生成正确的proguard构建文件。
通过在线阅读ProGuard文档和各种示例,我得出结论:
keep class my.package.data.** { *;}
...将遍历模型中的所有子包及其子包等,查找所有类并保留其所有名称,字段和方法。
但是从调试输出中我可以看到子包中的类中的方法被混淆了。
对我来说甚至令人费解的是,在添加以上内容后添加:
keep class my.package.data.models.** { *;}
......方法没有混淆。
我的示例中的类位于my.package.data.models.user.User
的包中。
问题:
我的印象是通配符**
只能深入到一个子包中。
但是文档声明:**
匹配类名的任何部分,可能包含任意数量的包分隔符。例如,* * .Test"匹配除root包之外的所有包中的所有Test类。或者," mypackage。**"匹配" mypackage"中的所有类并在其子包中。
哪个没有提到内部子包。我不知道我是否正确,但如果不是my.package.**
,那么引用所有子包及其子等的正确方法是什么?