Proguard是否删除未使用的代码(在Android上)

时间:2011-07-25 09:40:31

标签: java android proguard

我只是想知道,我正在设计一个用于Android项目的库。现在我开始包含诸如apache FTP jar之类的东西来支持一些调试文件上传。

我知道并非所有项目都会使用库的所有部分(例如,某些项目根本没有FTP上传,但是想要使用库中的UI工具)。

现在我有三个问题:

  1. Proguard是否会删除未使用的来源(自己的代码),例如我的UI工具类,如果它们从不是主项目的引用 - 意味着在应用程序中没有使用。

  2. 如果从未使用过,Proguard是否会删除外部库(例如apache ftp jar)。如果没有,我可以包括来源,如果选项1适用。

  3. 资源文件怎么样(不是真正的Proguards工作,更多的IntelliJ或Eclipse) - 示例:我使用默认标记编写了一个谷歌地图扩展,存储在库项目中。如果我还不需要地图,那么这些文件是否包含在每个android项目中 - 并且有一种简单的方法可以防止这种情况发生。

  4. 更多背景:我尽可能长时间地将所有库内容保存在一个项目中。我还不知道分割库的好处,所以我不想过分为一切创建单独的库(过去做过,大部分时间都是模块化的方式)......

    感谢您的任何见解, 克里斯

1 个答案:

答案 0 :(得分:9)

  

Proguard是否删除了未使用的来源

如果配置正确,它会尝试。

  

如果从未使用过,Proguard会删除外部库(例如apache ftp jar)。

如果配置正确,它会尝试。

  

资源文件怎么样(不是真正的Proguards工作,更多的IntelliJ或Eclipse) - 示例:我使用默认标记编写了一个谷歌地图扩展,存储在库项目中。如果我还不需要地图,那么这些文件是否包含在每个android项目中 - 并且有一种简单的方法可以防止它。

没有