> For the complete documentation index, see [llms.txt](https://docs.payments.thalescloud.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.payments.thalescloud.io/nfc-wallet-sdk-android/get-started/configuration/1.-binary-integration.md).

# 1. Binary integration

## Integrate the NFC Wallet SDK for Android

Use this guide to add NFC Wallet SDK libraries to your Android **digital wallet application**.

### Supported configurations

Latest NFC Wallet SDK for Android supports the following configurations for this integration:

* **Android version:** 8.1 to 16.0
* **CPU architecture (ABI):** `armeabi-v7a`, `arm64-v8a`

{% hint style="info" %}
Supported Android versions are SDK-release specific. For the latest compatibility status, see [Mobile OS compatibility](/nfc-wallet-sdk-android/general/mobile-os-compatibility.md).
{% endhint %}

### Copy the AAR files

Get the SDK AAR files from [Deliverables](/nfc-wallet-sdk-android/general/deliverables.md).

Copy them into a dedicated folder in your project. For example:

```
./dependencies
 ├── TSHPaySDK-dev-[version].[qualifier].aar
 └── TSHPaySDK-release-[version].[qualifier].aar
```

{% hint style="info" %}
NFC Wallet SDK was previously named **TSH Pay SDK**.

Some deliveries still use `TSHPaySDK-...` as the AAR filename prefix.
{% endhint %}

### Configure repositories

Add the folder as a local Maven repository using `flatDir`.

{% tabs %}
{% tab title="Groovy (settings.gradle)" %}
{% code title="settings.gradle" %}

```groovy
dependencyResolutionManagement {
    repositories {
        google()
        mavenCentral()
        maven { url 'https://developer.huawei.com/repo/' }
        flatDir { dirs "$rootDir/dependencies" }
    }
}
```

{% endcode %}
{% endtab %}

{% tab title="Groovy (root build.gradle)" %}
{% code title="build.gradle" %}

```groovy
allprojects {
    repositories {
        google()
        mavenCentral()
        maven { url 'https://developer.huawei.com/repo/' }
        flatDir { dirs "${rootProject.projectDir}/dependencies" }
    }
}
```

{% endcode %}
{% endtab %}
{% endtabs %}

### Enable ABI splits

Enable ABI splits to reduce APK size (one APK per ABI). See [Build multiple APKs](/nfc-wallet-sdk-android/get-started/configuration/1.-binary-integration/build-multiple-apks.md).

### Add dependencies

Declare in depencies:

* NFC Wallet AARs
* required external libraries dependencies:
  * JNA ([Java Native Access](https://github.com/java-native-access/jna/tree/5.17.0))

{% code title="app/build.gradle" expandable="true" %}

```groovy
def nfcWalletSdkVersion = "[version].[qualifier]"

dependencies {
    // NFC Wallet SDK (AAR filenames can still start with "TSHPaySDK")
    debugImplementation(name: "TSHPaySDK-dev-${nfcWalletSdkVersion}", ext: "aar")
    releaseImplementation(name: "TSHPaySDK-release-${nfcWalletSdkVersion}", ext: "aar")

    // SDK Dependency
    // JNA
    implementation(libs.jna) { artifact { type = 'aar' } }
    
    // FCM - Google push notifications
    implementation platform(libs.firebase.bom)
    implementation libs.firebase.messaging
    implementation libs.firebase.analytics

    // Multi-dex application to prevent any size issue.
    implementation libs.multidex
}
```

{% endcode %}

{% hint style="warning" %}
JNA 5.17.0 or later is required to support devices using 16 KB memory pages.
{% endhint %}

{% hint style="info" %}
If you use push notifications (FCM or HMS Push Kit), add the required dependencies. See [Configure push provider](/nfc-wallet-sdk-android/get-started/configuration/5.-push-notifications/configure-push-provider.md).
{% endhint %}

### Verify the build

The project should be now ready to be synced and compiled.

1. Sync Gradle.
2. Build the `dev` variant.

{% hint style="info" %}
You must comply with Google Play target API level requirements for new or updated digital wallet application releases. See [Meet Google Play's target API level requirement](https://developer.android.com/google/play/requirements/target-sdk).
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.payments.thalescloud.io/nfc-wallet-sdk-android/get-started/configuration/1.-binary-integration.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
