Создание файла aar в Android Studio


Я хотел бы создать файл aar для моей библиотеки в Android Studio, я бы пошел с опцией jar, но у моей библиотеки есть ресурсы.

есть идеи, как создать файл aar из библиотеки?

4 130

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