Reputation: 429
I am having one .aar
file of one library module.
I want to use it as a library or dependency in my other project's library module.
How do I do it?
I tried options provided at below links:
http://kevinpelgrims.com/blog/2014/05/18/reference-a-local-aar-in-your-android-project/
It works only if I add .aar
reference in my project's application module. But not working in library module.
Thanks.
Upvotes: 39
Views: 39159
Reputation: 932
Under dependencies in the module's build.gradle add the associated .aar files with
compileOnly files('libs/api-release.aar')
And then in the importing project's app/build.gradle add the .aar files with
implementation files('../../node_modules/react-native-misnap/android/libs/api-release.aar')
Upvotes: 0
Reputation: 1772
The easiest way will be to copy your aar file to the library module's libs folder. and in the app level build.gradle implement the dependency like below
implementation files('libs/aar_file_name.aar')
Upvotes: 0
Reputation: 4121
Sorry process involves 10 steps but these are super simple and easy.
1- New->Module
2- Select import .jar/aar package
3- Select your .aar file from location
4- We can see module is added but not configured with app module yet.
5- Go to Project Structure
6- Current project structure is like this one
7- Go to app module and press '+' icon
8- Select 3rd option Module dependency
9- Select newly added .arr module
10- you can see the new module attached with app module. Now click apply.
you can see we are good to go.
Upvotes: 9
Reputation: 23787
I did it a bit differently than others have posted here...
My main goal was to create a library module that contained all the jar's and aar's that I would need. My main project would then depend on this library module - I only wanted a single line in the main project's build.gradle to link this dependency.
Add a new library module to the project: File -> New -> New Module -> Android Library
within the library module, open the build.gradle and add:
// so that the library project can locate the aar in /libs repositories { flatDir { dirs 'libs' } } dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') implementation fileTree(include: ['*.aar'], dir: 'libs') }
now you can pop all the jar's and aar's into the /libs folder of your library module. Bonus: whatever the library name is doesn't matter, it's automatically discovered
Upvotes: 5
Reputation: 60923
Follow this setting and you will able to add .aar
dependency to library module
build.gradle (Project: ....)
allprojects {
repositories {
jcenter()
mavenCentral()
flatDir {
dirs 'libs'
dirs project(':library_module').file('libs')
}
}
}
build.gradle (Module: app)
dependencies {
...
compile project(':library_module')
}
build.gradle (Module: library_module)
dependencies {
...
compile(name:'aar_file_name', ext:'aar')
}
settings.gradle (Project Settings)
include ':app', ':library_module'
Upvotes: 71
Reputation: 41
Upvotes: 4
Reputation: 363815
In all modules (library or application) where you need the aar file you have to add in your build.gradle
the repository:
repositories {
flatDir {
dirs 'libs'
}
}
and add the dependency:
dependencies {
compile(name:'nameOfYourAARFileWithoutExtension', ext:'aar')
}
You can use the top-level file to add the repositories, but you can't add the dependencies in the top-level file.
Pay attention to the relative path of the libs folder that you are using in the module.
Upvotes: 15