# Android SDK - Technical Guide

## Overview

This document helps developers to integrate the Cardknox Payments SDK with an Android app project using the gradle build system.

## Technical Overview

* The SDK is distributed as an `.aar`
* SDK expects to be provided the `androidx.cardview` package externally, such as via the gradle rule `implementation 'androidx.cardview:cardview:1.0.0'`
* App launch specifics:
  * `AndroidManifest.xml` file registers a `mono.MonoRuntimeProvider` `ContentProvider`, responsible for loading the Mono runtime on app launch
* Supported architectures:
  * `arm64-v8a`
  * `armeabi-v7a`
* Package name is `cardknox.payments.sdk`

## Getting started

To start:

1. Add the obtained `aar` file to your `Android Studio` project, for example into the `app` module `libs` folder; and register the `.aar` in the app's `build.gradle`
2. Provide the `androidx.cardview` dependency either explicitly or as a transitive dependency of some other package, such as `com.google.android.material`

{% code title="CardknoxPaymentsSDK aar registration" %}

```javascript
dependencies {
  implementation fileTree(dir: 'libs', include: ['Cardknox.Payments.SDK.aar'])
  
  // Option 1: explicitly provide the androidx.cardview dependency for the SDK
  implementation 'androidx.cardview:cardview:1.0.0'
  
  // Option 2: implicitly provide the androidx.cardview dependency via the google.material package
  implementation 'com.google.android.material:material:1.5.0'
}
```

{% endcode %}

## LogCat logging

To capture the SDK Logcat logs, filter with the following tag:

* `(Cardknox_DroidSDKLogger|IDT_Event)`

<figure><img src="/files/WCgnzUguizPa9VRQ5gfy" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: 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:

```
GET https://docs.solapayments.com/sdk/android-sdk/android-sdk-technical-guide.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
