如何从Android中的第三方库中删除冗余包?

时间:2015-05-09 00:28:34

标签: java android gradle

我有一个Android应用程序和一个,它使用Apache Commons Math。 Apache commons math是一个相当胖的库,它使得输出apk更大。

由于我只使用与统计和插值相关的类,我对如何减小大小有两个想法:

  1. 我想从目标apk中删除不必要的包(但是如何?)
  2. 依赖于apache commons的java-library可以是一个胖jar(它的jar文件将包括所有类的apache-commons:math3 in it)。我将从这个罐子中排除所有未使用的包裹。
  3. ProGuard的? - 目前不想使用此功能
  4. 第一个似乎最容易,但我仍然不知道如何编写一个删除未使用的包的gradle任务。任何示例或链接将不胜感激。 :)

1 个答案:

答案 0 :(得分:2)

至于第一个选项,因为它的Apache Commons lib(作为开源分发),你总是可以创建自己的fork,从而将它从你不需要的东西中删除,重新编译和使用它重新编译版本(确保更改版本,以免您不小心遇到任何奇怪的问题)。可能不是最好的解决方案,但值得知道作为最后的手段。