Intereting Posts
Возможно ли читать исходный текстовый файл без ссылки на контекст в проекте библиотеки Android Ошибка после обновления Android.Support Library v7 AppCompat до версии 21.0.3 Синтаксис Android Studio Marks как ошибка, но компиляции градиентов Как вы можете запустить изображения эмулятора VS Android? Как добавить пользовательский вид в JellyBean Launcher для Android Перемещение фокуса ScrollView PhoneGap – клавиатура делает экран черным и мерцающим в течение некоторого времени на Samsung Galaxy Tab 10.1 Как мне запустить событие, когда клик происходит за пределами диалогового окна Как получить BSSID всех точек доступа Wi-Fi? Android.os.FileUriExposedException: файл: ///storage/emulated/0/test.txt выставляется вне приложения через Intent.getData () Скрыть верхнюю панель меню в моем устройстве Android & Tablet Как сохранить целочисленный массив в SharedPreferences? Глобальная переменная Android Как удалить записи из firebase Студия Android не может разрешить com.google.android.gms.location.places.AutocompleteFilter

Как установить имя выхода AAR из Gradle

У меня есть проект с несколькими модулями, в одном из которых есть Android-библиотека, названная (плохо) как sdk . Когда я создаю проект, он выдает AAR с именем sdk.aar .

Я не смог найти что-либо в документации Android или Gradle, которая позволяет мне изменить имя выхода AAR. Я бы хотел, чтобы у него было имя базы + номер версии, например, задачи Jar, но я не могу решить, как сделать то же самое для AAR, потому что все настройки для него, похоже, скрыты в плагине android.library.

Переименование модуля на данном этапе не является вариантом, и это все равно не добавит номер версии в окончательный AAR.

Как я могу изменить имя AAR, сгенерированное com.android.library в Gradle?

Решёвое решение

 defaultConfig { minSdkVersion 9 targetSdkVersion 19 versionCode 4 versionName '1.3' testFunctionalTest true project.archivesBaseName = "Project name" project.version = android.defaultConfig.versionName } 

Solutions Collecting From Web of "Как установить имя выхода AAR из Gradle"

Я не могу получить archivesBaseName и версию для работы со мной с Android Studio 0.8.13 / Gradle 2.1 . Хотя я могу установить archivesBaseName и версию в свой defaultConfig, это, похоже, не влияет на имя вывода. В конце концов, добавление следующего блока libraryVariants к моей области андроида {}, наконец, сработало для меня:

 libraryVariants.all { variant -> variant.outputs.each { output -> def outputFile = output.outputFile if (outputFile != null && outputFile.name.endsWith('.aar')) { def fileName = "${archivesBaseName}-${version}.aar" output.outputFile = new File(outputFile.parent, fileName) } } } 

В дополнение к qix ответьте здесь на информацию, которую вы можете добавить несколькими выходными путями этим методом с помощью обычной строки:

 libraryVariants.all { variant -> variant.outputs.each { output -> def outputFile = output.outputFile if (outputFile != null && outputFile.name.endsWith('.aar')) { def fileName = "${archivesBaseName}-${version}.aar" output.outputFile = new File(outputFile.parent, fileName) output.outputFile = new File("/home/pepperonas/IdeaProjects/Libraries/Base/testapp/libs", fileName) } } } 

(Upvotes принадлежат qix – я просто написал это как ответ из-за читаемости).

С плагином build 1.5.0 теперь можно использовать archivesBaseName в defaultConfig