java - 如何从Android中的第三方库中删除多余的包?

标签 java android gradle

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

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

  1. 我想从目标 apk 中删除不必要的软件包(但如何删除?)
  2. 依赖于 apache commons 的 java 库可以是一个 fat-jar (它的 jar 文件将包含 apache-commons:math3 的所有类)。我将从这个 jar 中排除所有未使用的包。
  3. ProGuard? - 目前不想使用这个

第一个似乎是最简单的,但我仍然不知道如何编写一个删除未使用的包的 gradle 任务。任何示例或链接将不胜感激。 :)

最佳答案

至于第一个选项,由于它是 Apache Commons lib(作为开源分发),因此您始终可以创建自己的分支,从不需要的所有内容中剥离它,重新编译并使用该重新编译的版本(确保更改版本,这样您就不会意外遇到任何奇怪的问题)。虽然可能不是最好的解决方案,但作为最后的手段值得了解。

关于java - 如何从Android中的第三方库中删除多余的包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30134699/

相关文章:

java - Java 中的花式循环

java - 更新 GridView

android - 在 gradle 中没有库依赖的情况下,改造如何工作?

android - 当应用程序被杀死时,Glide Cache 不会持续存在

Android剪贴板不复制文本

java - 在 Eclipse 的 Java 构建路径中有另一个项目的 gradle 等价物是什么?

android - 无法加载 AppCompat ActionBar,出现未知错误 android studio 3.0

java - 从模块中删除 ActionBarSherlock

java - Spring Servlet 从 *.html 映射到 SO 类型映射

java - 奇怪的 Java 线程池行为 - 除非使用 Future,否则会丢失任务