Создание файла aar в Android Studio
Я хотел бы создать файл aar для моей библиотеки в Android Studio, я бы пошел с опцией jar, но у моей библиотеки есть ресурсы.
есть идеи, как создать файл aar из библиотеки?
4 ответа:
Если ваша библиотека настроена как библиотека Android (т. е. она использует
apply plugin: 'com.android.library'
оператор в его сборке.gradle file), он будет выводить .ААР, когда он построен. Он будет отображаться в build / outputs/aar/ каталог в каталоге вашего модуля.вы можете выбрать тип "библиотека Android" в файле > новый модуль для создания новой библиотеки Android.
извлечь на экспорт .AAR файл из локальной сборки
если у вас есть модуль, определенный как проект библиотеки android, вы получите .файлы aar для всех вариантов сборки (отладка и выпуск по умолчанию) в содержащих
apply plugin: com.android.library
. Для справки этой библиотеки упакованы в качестве.aar
file вам нужно будет определить некоторые свойства, такие как пакет и версия.пример
build.gradle
файл для библиотеки (этот пример включает обфускацию в выпуске):apply plugin: 'com.android.library' android { compileSdkVersion 21 buildToolsVersion "21.1.0" defaultConfig { minSdkVersion 9 targetSdkVersion 21 versionCode 1 versionName "0.1.0" } buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } }
ссылка .ААР файл в вашем проекте
в вашем проекте приложения вы можете отказаться от этого на
libs
папка и обновление для ссылки на эту библиотеку, используя приведенный ниже пример:apply plugin: 'com.android.application' repositories { mavenCentral() flatDir { dirs 'libs' //this way we can find the .aar file in libs folder } } android { compileSdkVersion 21 buildToolsVersion "21.0.0" defaultConfig { minSdkVersion 14 targetSdkVersion 20 versionCode 4 versionName "0.4.0" applicationId "yourdomain.yourpackage" } buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } debug { minifyEnabled false } } } dependencies { compile 'be.hcpl.android.appframework:appframework:0.1.0@aar' }
альтернативные варианты для ссылки на местные файлы зависимостей в gradle можно найти по адресу: http://kevinpelgrims.com/blog/2014/05/18/reference-a-local-aar-in-your-android-project
совместное использование зависимостей с помощью maven
Если вам нужно поделиться этими
.aar
файлы в вашей организации проверить maven. Хорошую запись по этой теме можно найти по адресу: https://web.archive.org/web/20141002122437/http://blog.glassdiary.com/post/67134169807/how-to-share-android-archive-library-aar-acrossоб .формат файла aar
файл aar-это просто
.zip
с альтернативным расширением и конкретным содержанием. Для получения подробной информации проверьте эта ссылка о формате aar.
так же, как пользователь hcpl сказал, но если вы хотите не беспокоиться о версии библиотеки вы можете сделать это:
dependencies { compile(name:'mylibrary', ext:'aar') }
как его вид раздражает, чтобы иметь, чтобы обновить версию каждый раз. Кроме того, это делает не беспокоиться о пространстве имен проще таким образом.
btw @aar не имеет транзитивной зависимости. вам нужен параметр, чтобы включить его: транзитивные зависимости не разрешены для библиотеки aar с помощью gradle