Use Android Libraries to reuse components across multiple applications, or build variations of one app with the same core components. Android Libraries compile into Android Archive (AAR) files that can be used 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.
Android Archive (AAR) plug-insA 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 are bundles that include compiled Java and native (C/C++) code, resources, and a plug-in manifest file. The .aar file itself is a .zip archive which contains all of the Assets. For more details, see Android Developer documentation on creating an Android Library.
To add an AAR plug-in to your Project, copy the .aar file anywhere within the Unity project, then select it in Unity to open the Import Settings in the InspectorA Unity window that displays information about the currently selected GameObject, asset or project settings, allowing you to inspect and edit the values. More info
See in Glossary window. Enable the Android checkbox to mark this .aar file as compatible with Unity:
Android Library projects are similar to AAR plug-ins: they contain native and Java code, resources, and a plug-in manifest file. However, an Android Library is not a single archive file, but a directory with a special structure which contains all of the Assets. The easiest way to create an Android Library project is by creating a project of this type in Android Studio. For more details, see Android Developer documentation on creating an Android Library.
Android Library projects must have the .androidlib extension for Unity to support them. Add this extension to your library’s root folder name (for example, mylibrary.androidlib
), and place the folder in the Assets
folder of your Unity Project. Unity automatically includes all Android Libraries into 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, and build them together with it, in the same way that Android Studio projects are built when they have multiple subprojects.
For more details, see Android Studio documentation on the Library module.
If you need to add Assets to your Unity app that should be copied as they are into the output package, you need to include the raw assets in the AAR or Android Library plug-ins. To access these assets, call the getAssets Android API from your Java code.