- Qt 5.15
- Third-party Android Libraries
- Qt 5.15.16 Reference Documentation

# Third-party Android Libraries

This guide describes how to include a Java-based third-party library in your application package. There are many Java libraries which provide APIs that may be useful to your application.

## Prerequisites

This guide assumes that the androiddeployqt tool is used for constructing the deployment package. When using Qt Creator for building and deploying, androiddeployqt is used behind the scenes, so this also applies to development with Qt Creator. Explaining how to access the Java APIs after being included in the the project is not in the scope of this guide. For more information, see Customizing the Package Templates.

## Including a Library to an Android Project

The very first thing you need to do is to copy the library files into your project. The contents of the library have to be copied without modifications into the packaging directory, i.e. into the path set with qmake variable ANDROID_PACKAGE_SOURCE_DIR. For more information, see Android Libraries.

If you are using Qt Creator, you can quickly set up the packaging directory structure by selecting Projects > Build > Build Android APK > Create Templates. This creates a directory for your Android package customizations. Copy the library directory into `$ANDROID_PACKAGE_SOURCE_DIR/libs/`.

### Adding a .jar or .aar Library

By default, Qt for Android uses can use `.jar` or `.aar` libraries that are found in the path `$ANDROID_PACKAGE_SOURCE_DIR/libs/`. Qt has the following rule in `build.gradle` file that is part of the Gradle files used by Android build:

     dependencies {
         implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])

## Adding a Library Project

Having a library called `CustomLibrary`, similar to the previous approach, copy the library project to your packaging directory `$ANDROID_PACKAGE_SOURCE_DIR/libs/`, then create a file `settings.gradle` with the following content:

     include ':libs:CustomLibrary'

Then, add the dependency to `build.gradle` file inside the `dependencies` block:

     dependencies {
         implementation project(":libs:CustomLibrary")
     }

For more information on adding libraries to an Android project, see Add build dependencies Android documentation.

## Deployment

Once Gradle settings and the library files are all properly configured, Qt for Android should be able to build your `APK` or `AAB` package with your custom library.