> For the complete documentation index, see [llms.txt](https://docs.accurascan.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.accurascan.com/language/android/project-setup.md).

# Project Setup

{% embed url="<https://drive.google.com/file/d/1eZ_x5EhO5mPErszt2VnyH4Ostl01j1qr/view?usp=sharing>" %}

{% hint style="info" %}
The Android SDK has been VAPT (Vulnerability Assessment and Penetration Testing) tested .&#x20;

You can find the detailed report in the PDF attached below.
{% endhint %}

{% file src="/files/YG5O7Oj4X9IS0v29CpkU" %}

***

Add Accura SDK's to your App

### **Step 1:** Add the JitPack repository

1. In your **root-level (project-level)** Gradle file (`<project>/build.gradle`)<br>

   ```
   allprojects {
       repositories {
           ...
           maven {
               url 'https://jitpack.io'
               credentials { username authToken }
           }
       }
   }
   ```
2. Add the token to `gradle.properties`

   ```
   authToken=jp_ssguccab6c5ge2l4jitaj92ek2

   ```

### **Step 2: Add dependency**

In your **module (app-level)** Gradle file (usually `<project>/<app-module>/build.gradle`), add the dependencies for the Accura Products.

{% tabs %}
{% tab title="Accura OCR" %}

```
dependencies {
    ...
    implementation 'com.github.accurascan:AccuraOCR:6.2.1'
}
```

{% endtab %}

{% tab title="Accura Face Match" %}

```
dependencies {
    ...
    implementation 'com.github.accurascan:AccuraFaceMatch:3.2.7'
}
```

{% endtab %}

{% tab title="Accura Liveness" %}

```
dependencies {
    ...
    implementation 'com.github.accurascan:Liveness-Android:3.4.7'
}
```

{% endtab %}
{% endtabs %}

### **Step 3: Required Adanced setup as per requirement**

Add some more setup in your **module (app-level)** Gradle file (usually `<project>/<app-module>/build.gradle`), for the Accura Products.

1. Specify CPU architectures as per your Requirement.

   ```
   android {
       defaultConfig {
           ...
           ndk {
               // Specify CPU architecture.
               // 'armeabi-v7a' & 'arm64-v8a' are respectively 32 bit and 64 bit device architecture 
               // 'x86' & 'x86_64' are respectively 32 bit and 64 bit emulator architecture
               abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
           }
       }
   }
   ```
2. Add Packaging option for some `.so` files, for multiple Accura Products

   ```
   android {
       ...
       packagingOptions {
           pickFirst 'lib/arm64-v8a/libcrypto.so'
           pickFirst 'lib/arm64-v8a/libssl.so'

           pickFirst 'lib/armeabi-v7a/libcrypto.so'
           pickFirst 'lib/armeabi-v7a/libssl.so'

           pickFirst 'lib/x86/libcrypto.so'
           pickFirst 'lib/x86/libssl.so'

           pickFirst 'lib/x86_64/libcrypto.so'
           pickFirst 'lib/x86_64/libssl.so'
   	}
   	
   }
   ```

{% hint style="info" %} <mark style="color:blue;">**Note:**</mark> <mark style="color:blue;"></mark><mark style="color:blue;">Add Packaging options are required for multiple Accura Products used in same Project</mark>
{% endhint %}
