Создание файла aar в Android Studio
Я хотел бы создать файл aar для моей библиотеки в Android Studio, я бы пошел с опцией jar, но моя библиотека имеет ресурсы.
есть идеи, как создать файл aar из библиотеки?
4 ответов
Если ваша библиотека настроена как библиотека Android (т. е. она использует apply plugin: 'com.android.library'
оператор в его сборке.gradle file), он выведет .aar, когда он построен. Он появится в сборка / выходы/aar/ каталог в каталоге вашего модуля.
вы можете выбрать тип "библиотека Android" в файле > новый модуль для создания новой библиотеки Android.
извлечь на экспорт .файл aar из локальных сборок
если у вас есть модуль, определенный как проект библиотеки android, вы получите .файлы aar для всех вариантов сборки (отладка и выпуск по умолчанию) в содержащих apply plugin: com.android.library
. Для справки эта библиотека упакована как .aar
файл вам нужно будет определить некоторые свойства, такие как пакет и версия.
пример 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'
}
}
}
ссылка .файл aar в вашем проекте
в вашем проекте приложения вы можете отказаться от этого на 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