aar archives their is a
libs subfolder with some
.jar in it. What the purpose of those jars? why they are not merged in the classes.jar? If I add the
aar as a dependency of my android project, how the jar inside the
libs subfolder will be included in the final
The JARs in the
libs directory of an AAR are dynamically linked during runtime. Exactly like the JAR files you would provide in the
libs directory of your project.
As you may note, the content of an AAR file is similar to the structure of an Android application project — at minimum a manifest file and the
META-INF directory, and further (optional) files and directories. You may find resources (
assets), libraries (native ones in
lib, JARs in
libs) and so on. Not every AAR files does even contain a
classes.jar, as some of theme are only intended to deliver additional
res content. That can often be found in compat-AARs.
Basically, during the APK building process one simple thing is made with an AAR file which has been included into the project. It will be unzipped and its files and directories are merged — at least logically, not necessarily physically — with their corresponding counterparts in the project. So in your case, the JAR files in the AAR’s
libs directory are added to the
libs directory of your project, where you keep the Java libraries you want to link dynamically during application runtime.
Apart from that the APK building process runs as usual.
In short — An AAR is a ZIP whose content is merged into the project it was added to.
Answered By – Krokomot