UPD: Seems like referencing local .aar packages is not recommended. But you can just as easily set them up in a local maven repo, which will work even better!
Playing with the new Gradle Android build system, I created some multi project setups, and it seems to work great! I had a project with a main android app, an android library and a java library all wired up and working well.
But once I tried to decouple the android library to a separate location, and just inject the .aar package in the project depencency list I ran into a problem. The project completely refused to build, stating:
Error: duplicate files during packaging of APK D:\Development\MyProject\mainapp\build\apk\mainapp-debug-unaligned.apk
Path in archive: AndroidManifest.xml
Origin 1: D:\Development\MyProject\mainapp\build\libs\mainapp-debug.ap_
Origin 2: D:\Development\MyProject\mainapp\libs\AndroidExtensions.aar
Everything seemed to be configured correctly, the android library was producing a proper .aar library package file, and I was sure that it should work out of the box, but it was just refusing to work...
The solution was actually much simpler than I expected:
I checked my build.gradle file, and had the library package referenced in the dependencies list:
But after playing around with different alternatives, I found out that if I just skipped the file extension for the .aar package, it would still be picked up AND will be processed correctly! Not sure if it's a bug in 0.4/0.4.1 or just the way it works, but it's certainly not documented.
Oh, and the .jar packages should be referenced WITH the extension file, in case you're wondering :)
Yup, certainly needs some work in terms of consistency!
So the right way to reference it would be: