# Android SDK

To include the Android SDK in your maven project define a link to our repository and dependency like shown below.

{% code title="pom.xml" %}

```xml
     <dependencies>
        <dependency>
            <groupId>com.licensespring</groupId>
            <artifactId>androidsdk</artifactId>
            <version>1.5.0</version>
        </dependency>

    </dependencies>

    <repositories>
        <repository>
            <id>androidsdk</id>
            <url>https://licensespring-android-sdk.s3.amazonaws.com/</url>
        </repository>
    </repositories>
```

{% endcode %}

If you are using gradle to build your projects, you can include the dependencies for LicenseSpring with the following snippet:

{% code title="build.gradle" %}

```java
repositories {
    mavenLocal()
    maven {
         url "https://licensespring-android-sdk.s3.amazonaws.com"
    }
}

dependencies {
    implementation (group: 'com.licensespring', name: 'androidsdk', version: '1.5.0', ext: 'aar', classifier: 'release') {
		transitive=true
    }
}
```

{% endcode %}

{% hint style="danger" %}
Minimum Android version for this SDK is 8.1 (Oreo - API level 27)
{% endhint %}

Javadoc can be downloaded here:

[Download Android SDK Javadoc (zip)](https://api.archbee.com/api/presign/IJdHyjBlO9LOXOrDnWJTx/dtB9Juu2mtlKsLwu2JAS6_licensespring-android-docs-11.zip)

### Release Notes

#### December 12th, 2023, v1.5.0

Floating Features

FloatingService:

* Added checkLicenseFeature method
* Added releaseFloatingFeature method

LicenseService:

* Added checkLicenseFeature method

#### October 12th, 2023, v1.4.0

* Floating License

#### April 28th, 2023, v1.3.0

* support 'YYYY-MM-DD' date time format in response
* fixed product details response

#### April 19th, 2023, v1.2.0

* fixed air gap license activation code
* fixed air gap license verify
* changed activateAirGapResponse method signature to be able to load policy file from res/raw folder

#### February 22nd, 2023, v1.1.8

* fixed consumtion license check

#### January 30th, 2023, v1.1.7

* remove unused BouncyCastle provider in AirGappedService

#### January 19th, 2023, v1.1.6

* updated java sdk version in config for license tracking (showed up as 1.1.1 until now)

#### January 16th, 2023, v1.1.5

* removed BouncyCastle provider for AirGap - use default provider

see <https://android-developers.googleblog.com/2018/03/cryptography-changes-in-android-p.html> for more info about this change

#### January 10th, 2023, v1.1.4

* added support for multiple licences on the same device. Added the LicenseManagerFactory for creating multiple LicenseManager objects (one for each different license)
* added support for offline user-based licences

#### November 4th, 2022, v1.1.3

* added AirGappedService and LicenseSpringManager methods: `getAirGapActivationCode`, `verifyAirGapConfirmationCode`, `activateAirGapResponse`

#### August 19th, 2022, v1.1.2

* added reinitialize() method - for changing the configuration during runtime

#### August 10th, 2022, v1.1.1

* Added toggleable offlineMode - to change offline mode in runtime

#### June 14th, 2020, v1.1

* Exposed JsonSerialization class.
* Fixed bug with daysRemaining method on License. SUBSCRIPTION license returned max days, instead of CONSUMPTION type.
* Fixed issue with locale datetime support.
* Implemented periodic license check - can be enabled via configuration.
* Added request logging options, default is OFF/NONE.
* Refactored Offline license code from LicenseRepository into a separate class .
* LicenseRepository is now an interface SDK users can implement.
* Added an intitialize() method overload on LicenseSpringManager which accepts the LicenseRepository as the second parameter.
* Added the default implementation of LicenseRepository, no SDK users will not need to change their implementation, unless building a custom LicenseRepository.

#### May 11th, 2020, v1.0

Initial Release of the LicenseSpring Android SDK.
