7

In my Android Studio Gradle project I use several libraries, whereas one library should use a local AAR file as dependency. I used the popular solution to include the AAR file as dependency into my library project:

flatDir { dirs 'libs' } compile(name: 'aar-library', ext: 'aar') 

When I now try to sync I get the error message

Failed to resolve: dependency 'aar-library'

in my main project even though I'm not using / referencing the AAR file there. If I just copy the AAR file into the libs folder of my main project too it works. Any idea?

2
  • is aar-library the filename? Commented Aug 18, 2015 at 18:09
  • Yes it's the file name without the file extension Commented Aug 19, 2015 at 12:26

4 Answers 4

15

Already found the solution. It looks like the AAR dependencies are all moved together, so the main project tries to resolve AAR dependency in its 'libs' directory, where it obviously does not exist. What you need to do is define more accurately where each module that depends on the library with the AAR file can find it relative to its path, e.g.

dirs project(':my-library-project').file('libs')

Sign up to request clarification or add additional context in comments.

3 Comments

you saved me a lot of time!
never would have figured this out
where to add this? in the Main project gradle or the library's gradle? and where in gradle
0

I had it working like this:

compile 'com.example.lib:lib_name:1.0.0@aar' 

In this example lib_name:1.0.0.aar is file name.

Comments

0

I wanted to add my AAR file to my library project. I had to add this to the gradle of my library project

implementation(files("libs/sublibrary.aar")) 

where my 'libs' folder is located at myLibraryName/libs.

I also had to add the following to the gradle of my Main project

implementation(files("../myLibraryName/libs/sublibrary.aar")) 

Then I synced and it worked.

Comments

-1

In case the answer by user1033552 doesn't work. In my case, it didn't work.

Below steps worked for me.

  1. Right click project -> New -> Module -> Import aar package -> select file and import it.
  2. In settings.gradle, Make dependent is after dependency.For example include ':imported-aar', ':your-library', ':app'
  3. Now build.gradle of your-library add compile project(':imported-aar')

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.