---
title: Android Attribution SDKs: Maven Packages Compared
description: Native Android SDKs from 9 MMPs: Maven artifact, repository, licence, minSdk, Install Referrer handling and docs, checked 2 Nov 2026 against Maven Central.
url: https://mmpsdk.com/frameworks/android/
---

[Home](https://mmpsdk.com/) / [Frameworks](https://mmpsdk.com/frameworks/) / Android (native)

# MMP SDKs for *Android (native)*

Native Android attribution SDKs for Kotlin and Java apps, from Maven Central, vendor Maven repositories and each vendor's docs.

**Short answer**

9 of the 9 MMPs tracked here publish an official Android (native) SDK: Adjust, Airbridge, AppMetrica, AppsFlyer, Branch, Kochava, Linkrunner, Singular and Tenjin.

## Android (native) pinout: one pin per MMP

Filled pins have an official SDK. Pins are in A to Z order.

- 1 [Adjust](https://mmpsdk.com/mmp/adjust/)
- 2 [Airbridge](https://mmpsdk.com/mmp/airbridge/)
- 3 [AppMetrica](https://mmpsdk.com/mmp/appmetrica/)
- 4 [AppsFlyer](https://mmpsdk.com/mmp/appsflyer/)
- 5 [Branch](https://mmpsdk.com/mmp/branch/)

**FW-AND** **Android (native)** 9 of 9 official

- 6 [Kochava](https://mmpsdk.com/mmp/kochava/)
- 7 [Linkrunner](https://mmpsdk.com/mmp/linkrunner/)
- 8 [Singular](https://mmpsdk.com/mmp/singular/)
- 9 [Tenjin](https://mmpsdk.com/mmp/tenjin/)

Official Vendor-documented Community only None found

## Android (native) SDKs compared

Last checked 2 Nov 2026. Package, version and licence from Maven; minimum OS from podspecs, Gradle files and vendor docs.

| MMP | Status | Package | Registry | Version | Licence | Minimum OS | Repo | Install docs | Notes |
|---|---|---|---|---|---|---|---|---|---|
| [Adjust](https://mmpsdk.com/mmp/adjust/) | Official | [com.adjust.sdk:adjust-android](https://central.sonatype.com/artifact/com.adjust.sdk/adjust-android) | Maven Central | 5.8.1 | MIT | Android API 21 | [Source](https://github.com/adjust/android_sdk) | [Install docs](https://dev.adjust.com/en/sdk/android) |  |
| [Airbridge](https://mmpsdk.com/mmp/airbridge/) | Official | [io.airbridge:sdk-android](https://sdk-download.airbridge.io/maven/io/airbridge/sdk-android/maven-metadata.xml) | Airbridge Maven repo (sdk-download.airbridge.io/maven) | 4.12.1 | Not published | Android API 16 | Not public | [Install docs](https://help.airbridge.io/en/developers/android-sdk-v4) | Not on Maven Central; requires adding Airbridge's own Maven repository. |
| [AppMetrica](https://mmpsdk.com/mmp/appmetrica/) | Official | [io.appmetrica.analytics:analytics](https://central.sonatype.com/artifact/io.appmetrica.analytics/analytics) | Maven Central | 8.6.0 | MIT | minSdk 21 | [Source](https://github.com/appmetrica/appmetrica-sdk-android) | [Install docs](https://appmetrica.yandex.com/docs/en/sdk/android/analytics/quick-start) |  |
| [AppsFlyer](https://mmpsdk.com/mmp/appsflyer/) | Official | [com.appsflyer:af-android-sdk](https://central.sonatype.com/artifact/com.appsflyer/af-android-sdk) | Maven Central | 7.0.4 | Proprietary | Android API 21 | [Source](https://github.com/AppsFlyerSDK/appsflyer-android-sdk) | [Install docs](https://dev.appsflyer.com/hc/docs/install-android-sdk) | GitHub repo holds only LICENSE (terms of use) and README; SDK is closed source. |
| [Branch](https://mmpsdk.com/mmp/branch/) | Official | [io.branch.sdk.android:library](https://central.sonatype.com/artifact/io.branch.sdk.android/library) | Maven Central | 5.21.3 | Apache-2.0 (POM); MIT (repo) | Android API 21 | [Source](https://github.com/BranchMetrics/android-branch-deep-linking-attribution) | [Install docs](https://help.branch.io/developer-hub/android-basic-integration) | Maven metadata also lists 6.0.0-beta.3 as newest pre-release. |
| [Kochava](https://mmpsdk.com/mmp/kochava/) | Official | [com.kochava.measurement:base](https://central.sonatype.com/artifact/com.kochava.measurement/base) | Maven Central + Kochava Maven (maven.sdk.kochava.com) | 7.0.0 | Proprietary (Kochava terms) | minSdk 21 | [Source](https://github.com/Kochava/android-kochavameasurement-releases) | [Install docs](https://support.kochava.com/articles/android-sdk/) | Docs say newer versions require the Kochava Maven repo; optional store modules (google, huawei, meta, samsung, amazon). |
| [Linkrunner](https://mmpsdk.com/mmp/linkrunner/) | Official | [io.linkrunner:android-sdk](https://central.sonatype.com/artifact/io.linkrunner/android-sdk) | Maven Central | 4.4.0 | MIT | Android API 21 | Not public | [Install docs](https://docs.linkrunner.io/sdk/android?utm_source=mmpsdk&utm_medium=referral&utm_campaign=frameworks-android) | Source repository is not public. |
| [Singular](https://mmpsdk.com/mmp/singular/) | Official | [com.singular.sdk:singular_sdk](https://maven.singular.net/com/singular/sdk/singular_sdk/) | Singular Maven repo (maven.singular.net) | 12.17.0 | Not published | Android API 21 | Not public | Not found | Not on Maven Central; apps add Singular's Maven repository (maven.singular.net). |
| [Tenjin](https://mmpsdk.com/mmp/tenjin/) | Official | [com.tenjin:android-sdk](https://central.sonatype.com/artifact/com.tenjin/android-sdk) | Maven Central | 2.0.2 | MIT | minSdk 21 | [Source](https://github.com/tenjin/tenjin-android-sdk) | [Install docs](https://tenjin.com/docs/mmp-sdk-android/) |  |

"Not published" means no primary source states the value; it does not mean there is no minimum. Registry and repo links are for reference.

## What the SDK needs from you

The setup steps that apply to any attribution SDK in a Android app. Each vendor datasheet lists that vendor's own requirements.

- **Repository**
  Most artifacts are on Maven Central. Airbridge and Singular publish to their own Maven repositories, which you add to `settings.gradle`.
- **Permissions**
  `INTERNET` and `ACCESS_NETWORK_STATE` are standard. `com.google.android.gms.permission.AD_ID` is needed to read the advertising ID when targeting Android 13 (API 33) or later; remove it for child-directed apps.
- **Play Install Referrer**
  The main Android attribution signal for Play Store installs. Check whether the SDK pulls in `com.android.installreferrer:installreferrer` itself or asks you to add it.
- **Initialise early**
  Start the SDK in `Application.onCreate` so the first open is captured, then send your first in-app event.
- **Deep links**
  Add an intent filter with `android:autoVerify="true"` for App Links and host `assetlinks.json` (most MMPs host it on their link domain). Pass the intent to the SDK in `onCreate` and `onNewIntent`.
- **Other stores**
  For Huawei, Samsung or Xiaomi stores, add the vendor's optional referrer modules where offered.

## Questions

**Which MMPs have an official Android (native) SDK?**

9 of the 9 MMPs tracked here publish an official Android (native) SDK: Adjust, Airbridge, AppMetrica, AppsFlyer, Branch, Kochava, Linkrunner, Singular and Tenjin.

**How do I install an MMP SDK in a Android app?**

Add the artifact to your Gradle dependencies (and the vendor's Maven repository if it is not on Maven Central), then initialise the SDK in Application.onCreate.

**Does an MMP need the Google Advertising ID?**

Not to work, but it helps. Attribution starts from the Play Install Referrer, which carries the click's referrer string; the GAID adds a device-level match for view-through and some network postbacks. Apps targeting Android 13 or later must declare the AD_ID permission to read it.

**Why are some Android SDKs not on Maven Central?**

Some vendors host their own Maven repository, so you add its URL to your Gradle settings. It works the same way but is one more repository your build depends on.

**What is an MMP SDK?**

An MMP SDK is the library a mobile measurement partner asks you to add to your app. It records the first open, in-app events and deep link opens, and sends them to the MMP so installs can be matched to the ad or link that drove them.

**Is every MMP SDK open source?**

No. Many wrappers and SDKs are MIT licensed, but some native SDKs are proprietary: AppsFlyer's native iOS and Android SDKs, Kochava's SDKs and AppMetrica's Flutter plugin are published under proprietary terms. The licence column in each table shows what the registry or repository states.

## Other frameworks

- [FW-RN **React Native** npm install the vendor package, then run pod install in the ios folder. Autolinking wires up the native side. *9 of 9 official*](https://mmpsdk.com/frameworks/react-native/)
- [FW-FL **Flutter** flutter pub add the package, then check the iOS deployment target in the Podfile and minSdk in android/app/build.gradle. *8 of 9 official*](https://mmpsdk.com/frameworks/flutter/)
- [FW-EX **Expo** npx expo install the package, add its config plugin to app.json, then npx expo prebuild and run a development build. Expo Go cannot load these native SDKs. *6 of 9 official*](https://mmpsdk.com/frameworks/expo/)
- [FW-UN **Unity** Add the package by Git URL in Unity Package Manager or import the .unitypackage, then resolve native dependencies (often with EDM4U) before building for iOS and Android. *8 of 9 official*](https://mmpsdk.com/frameworks/unity/)
- [FW-CP **Capacitor** npm install the plugin, then npx cap sync to copy it into the iOS and Android projects. *4 of 9 official*](https://mmpsdk.com/frameworks/capacitor/)
- [FW-CD **Cordova** cordova plugin add the package, then rebuild both platforms. *7 of 9 official*](https://mmpsdk.com/frameworks/cordova/)
- [FW-IOS **iOS (native)** Add the Swift package in Xcode or the pod to your Podfile, then initialise the SDK early in the app's launch. *9 of 9 official*](https://mmpsdk.com/frameworks/ios/)
- [FW-WEB **Web** Add the vendor's script tag or npm package to the site, then initialise it with your app or project key. *7 of 9 official*](https://mmpsdk.com/frameworks/web/)
