Gradle和本地AAR依赖项之间的APK大小是否有所不同?

问题描述

生成的Android APK文件的大小之间是否存在任何差异?

  • 通过本地AAR文件添加依赖项(例如,通过“文件”>“新建模块”>“导入.JAR或.AAR包”)
  • 通过Gradle依赖项(例如implementation "com.foo.bar:bar:1.2.3"添加指向同一AAR文件的依赖项

如果存在差异,那么造成差异的原因是什么?

解决方法

不,AAR的来源无关紧要。在两种情况下,大小均应相等。 Gradle只是提供了一种简单的方法来包含AAR,而不必将其及其所有依赖项放入存储库中。

一种可能与之不同的情况是,Gradle依赖项具有并非严格必要的其他依赖项。在这种情况下,这些依赖项也将包括在内,从而增加APK的大小。但是,这对依赖项作者来说是一种错误的配置,并且它们应该解决。通常,这不应该发生。