Version: 2021.3
Android Library Projects and Android Archive plug-ins
Import an Android Library Project

Introducing Android Library Projects and Android Archive plug-ins

Android Archives are a compiled version of Android Libraries, and are the recommended way to format plug-ins that you want to distribute. However, while you create a plug-inA set of code created outside of Unity that creates functionality in Unity. There are two kinds of plug-ins you can use in Unity: Managed plug-ins (managed .NET assemblies created with tools like Visual Studio) and Native plug-ins (platform-specific native code libraries). More info
See in Glossary
, it’s faster to work with the Android Library format since that doesn’t require you to compile the plug-in outside of Unity and re-import the result. If you plan to modify the plug-in at all in the future, or want to iterate over it often, use an Android Library. After you finish development for the plug-in, compile it into an Android Archive.

Android Library projects

An Android Library is a directory with a specific structure that contains all the plug-in assets and the manifest.

When Unity creates the final GradleAn Android build system that automates several build processes. This automation means that many common build errors are less likely to occur. More info
See in Glossary
project during the build or export process, it automatically includes all Android Library Projects in it and builds them together. Unity does this in the same way that Android Studio projects build when they have multiple subprojects.

Android Archive plug-ins

An Android Archive (AAR) plug-in is a compiled version of an Android Library project that you can use as a dependencyIn the context of the Package Manager, a dependency is a specific package version (expressed in the form package_name@package_version) that a project or another package requires in order to work. Projects and packages use the dependencies attribute in their manifests to define the set of packages they require. For projects, these are considered direct dependencies; for packages, these are indirect, or transitive, dependencies. More info
See in Glossary
for an Android app module. The .aar file itself is a .zip archive that contains all of the compiled code, assets, and plug-in manifest. For more information on the structure of an AAR, see Anatomy of an AAR file.

Providing additional Android Assets and resources

If you need to add Assets to your Unity application that should be copied as they are into the output package, include the raw assets in an Android Library Project or AAR. To access these assets, call the getAssets Android API from your Java code.

Additional resources

Android Library Projects and Android Archive plug-ins
Import an Android Library Project