Создание файла 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