Skip to content

highmobility/hmkit-android

Repository files navigation

HMKit Android

The HMKit Android SDK makes it easy to work with car data using the HIGH MOBILITY API platform. The SDK implements a strong security layer between your Android app and the platform while providing a straightforward native interface to read from, and write to, connected cars. In addition, the SDK provides a UI component used to initiate OAuth2 for the end-user in order to retrieve consent for the sharing of data.

Table of contents

Requirements

Getting Started

Get started with HMKit Android 📘browse the documentation.

Setup

  • git submodule update --init --recursive
  • import the Gradle project.
  • Build HMKit Core:
    • Install NDK through Android SDK Manager(Tools tab)
    • cd hmkit-android/src/main/jni && ndk-build && cd -
  • Run the unit tests: ./gradlew clean test
  • If there are errors: Try Gradle clean, File > Invalidate caches and restart.
  • Now hm-android-basic-oauth or hm-android-bluetooth-auto-api-explorer targets can be run with local code.

Architecture

General: HMKit Android is a Java/Kotlin library that handles Bluetooth/Telematics connectivity. Security is implemented via JNI to the HMKit Core C module.

hmkit-android: Contains HMKit Android Java/Kotlin classes.

hmkit-core-jni: Contains JNI classes to HMKit Core.

hmkit-crypto: Contains necessary crypto classes and functions.

hmkit-utils: Contains general helper methods and classes.

hm-android-basic-oauth and hm-android-bluetooth-auto-api-explorer: Sample apps for testing.

Contributing

We happily accept your patches and contributions to this project. Before starting work, please first discuss the changes that you wish to make with us via GitHub Issues, Spectrum or Slack.

See more in 📘Contributing.

Licence

This repository is using the MIT licence. See more in 📘LICENCE