Reputation: 1529
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?
Upvotes: 7
Views: 7721
Reputation: 4408
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.
Upvotes: 0
Reputation: 49
In case the answer by user1033552 doesn't work. In my case, it didn't work.
Below steps worked for me.
include ':imported-aar', ':your-library', ':app'
compile project(':imported-aar')
Upvotes: -1
Reputation:
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.
Upvotes: 0
Reputation: 1529
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')
Upvotes: 15