其中一个应用程序中有一个业务模块,比如kilo-business。现在,这个模块中有一些API将由另一个应用程序使用(组织中的本地应用程序--比如kilo-client1)。我已经使用Proguard (通过它的maven插件)只提取与API相关的类,并从中生成一个JAR --收缩的API,名为kilo-business-apis。kilo-client1使用这个kilo-business-apis依赖项并调用服务。作为一种策略,我们总是包括源代码以及我们在应用程序之间共享的任何工件(为了调试方便和附加文档)。
在这种情况下,是否有一种方法可以让Proguard也给出(可能的)源文件(属于kilo-business模块),在那里它为kilo-business-apis提供了类,可以使用这些类来召唤源JAR?实际上,我们不会将JAR缩小到从类中删除未使用的方法/变量的程度,所以给出源java文件也就足够了。
我知道我们可以在eclipse中使用decompiler或其他一些反编译器来帮助调试,即使我们没有发布它,但是想要检查我们是否能够生成源代码第一类,从而满足文档需求。
一个想法是将kilo-business本身分解为一个单独的kilo-business-apis模块,其中只有API定义所在,kilo-business和kilo-client1都可以使用它,但不幸的是,由于遗留原因,我无法使用它。
提前感谢!
发布于 2014-03-23 01:58:59
ProGuard还可以选择写出关于保存入口点(-printseeds)、未使用代码(-printusage)和模糊映射(-printmapping)的信息,但与源文件无关。如果不混淆代码,只需在处理后的输出中列出.class名称,并找到相应的.java文件。
https://stackoverflow.com/questions/22541444
复制相似问题