Create aar file in Android Studio

ID : 20373

viewed : 16

Tags : androidandroid-studiojaraarandroid

Top 5 Answer for Create aar file in Android Studio

vote vote

98

If your library is set up as an Android library (i.e. it uses the apply plugin: 'com.android.library' statement in its build.gradle file), it will output an .aar when it's built. It will show up in the build/outputs/aar/ directory in your module's directory.

You can choose the "Android Library" type in File > New Module to create a new Android Library.

vote vote

83

Retrieve exported .aar file from local builds

If you have a module defined as an android library project you'll get .aar files for all build flavors (debug and release by default) in the build/outputs/aar/ directory of that project.

your-library-project     |- build         |- outputs             |- aar                 |- appframework-debug.aar                  - appframework-release.aar 

If these files don't exist start a build with

gradlew assemble 

for macOS users

./gradlew assemble 

Library project details

A library project has a build.gradle file containing apply plugin: com.android.library. For reference of this library packaged as an .aar file you'll have to define some properties like package and version.

Example build.gradle file for library (this example includes obfuscation in release):

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'         }     } } 

Reference .aar file in your project

In your app project you can drop this .aar file in the libs folder and update the build.gradle file to reference this library using the below example:

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' } 

Alternative options for referencing local dependency files in gradle can be found at: http://kevinpelgrims.com/blog/2014/05/18/reference-a-local-aar-in-your-android-project

Sharing dependencies using maven

If you need to share these .aar files within your organization check out maven. A nice write up on this topic can be found at: https://web.archive.org/web/20141002122437/http://blog.glassdiary.com/post/67134169807/how-to-share-android-archive-library-aar-across

About the .aar file format

An aar file is just a .zip with an alternative extension and specific content. For details check this link about the aar format.

vote vote

78

just like user hcpl said but if you want to not worry about the version of the library you can do this:

dependencies {     compile(name:'mylibrary', ext:'aar') } 

as its kind of annoying to have to update the version everytime. Also it makes the not worrying about the name space easier this way.

vote vote

60

To create AAR

while creating follow below steps.

File->New->New Module->Android Library and create.

To generate AAR

Go to gradle at top right pane in android studio follow below steps.

Gradle->Drop down library name -> tasks-> build-> assemble or assemble release

AAR will be generated in build/outputs/aar/

But if we want AAR to get generated in specific folder in project directory with name you want, modify your app level build.gradle like below

defaultConfig {     minSdkVersion 26     targetSdkVersion 28     versionCode System.getenv("BUILD_NUMBER") as Integer ?: 1     versionName "0.0.${versionCode}"       libraryVariants.all { variant ->          variant.outputs.all { output ->             outputFileName = "/../../../../release/" + ("your_recommended_name.aar")         }     } } 

Now it will create folder with name "release" in project directory which will be having AAR.

To import "aar" into project,check below link.

How to manually include external aar package using new Gradle Android Build System

vote vote

60

After following the first and second steps mentioned in the hcpl's answer in the same thread, we added , '*.aar'], dir: 'libs' in the our-android-app-project-based-on-gradle/app/build.gradle file as shown below:

...  dependencies {        implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')  ... 

Our gradle version is com.android.tools.build:gradle:3.2.1

Top 3 video Explaining Create aar file in Android Studio

Related QUESTION?