如果我有一个链接了许多图书馆项目的项目,是否可以通过将每个项目打包到AAR中并将其包含在主项目中来提高构建性能?还是这没有什么区别,因为当编译器需要汇编apk时,无论如何它都需要将所有内容打包在一起?
感谢任何人给我一些关于两种方法之间的性能差异的说明
最佳答案
我认为您不会通过将现有的.jar文件包装到.aar文件中并使用该文件而不是原始的.jar文件来节省任何构建时间。
由于this SO post notes, .aar文件基本上只是zip文件,其中可能包含jar文件和一些android资源。
另外,由于.aar文件未预编译为Dalvik字节码,因此您的apk文件的构建过程仍必须至少执行一次该步骤。因此,您也不会仅通过将.jar文件包装到.aar文件中来节省变形时间。
如果您构建一个典型的Android Studio项目(在gradle构建文件中指定了一些Android库依赖项),则可以在app/build/intermediates/exploded-aar下面看到这些文件已解压缩的目录。即使您正在使用.aar文件,该工作也仍必须由您的构建机器来完成。
最后,正如您所指出的,.apk打包工作仍必须在构建结束时完成。
关于android - aar vs "plain module"的优势,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38313710/