2016-07-11 5 views
0

Если у меня есть проект со многими связанными библиотечными проектами, могу ли я улучшить производительность сборки, упаковывая каждый из них в AAR и включив его в основной проект? Или это не будет иметь никакого значения, так как тогда, когда компилятору нужно собрать apk, ему все равно нужно упаковать все вместе?Преимущества aar vs "plain module"

Благодаря любому, кто даст мне clarifcation о различиях в производительности между 2 подходом

ответ

0

Я не думаю, что вы будете экономить любое время сборки, обернув существующий файл .jar в .aar файл и с помощью что вместо исходного файла .jar.

Как this SO post notes, .arar файлы в основном просто zip-файлы, которые могут содержать файл jar и некоторые ресурсы android.

Кроме того, поскольку .aar-файлы не предварительно скомпилированы в байт-код Dalvik, процесс сборки для вашего файла apk должен по-прежнему выполнять этот шаг хотя бы один раз. Таким образом, вы не будете сохранять время на удаление, просто упакуя файл .jar в файл .aar.

Если вы создаете типичный проект Android Studio (с некоторыми зависимостями библиотеки Android, указанными в файле сборки gradle), вы можете увидеть каталог под приложением/build/intermediates/exploded-aar, где эти файлы были распакованы. Эта работа все равно должна выполняться вашей машиной сборки, даже если вы используете файл .aar.

Наконец, как вы указали, в конце сборки все еще должна быть выполнена работа с упаковкой .apk.