Android Integration Guide

Star Tower Core is available on the Android platform, through Java/JNI bindings. In this guide we show how to use it.

Prerequisites

  • Android Studio

  • Android NDK Support plugin

Android releases are hosted on GitHub packages, It needs authentication to download packages, please checkout this guide from GitHub for more details.

We recommend to create a non-expiring and readonly token for accessing GitHub packages, and add it to local.properties of your Android Studio project locally.

Generate a token here:

Add this dependency to build.gradle:

dependencies {
    implementation "FR.startower:starower-core:<latest_tag>"
}

Add maven and credentials (local.properties for local or system environment variables CI)


Properties properties = new Properties()
File localProps = new File(rootDir.absolutePath, "local.properties")
if (localProps.exists()) {
    properties.load(localProps.newDataInputStream())
} else {
    println "local.properties not found"
}

allprojects {
    repositories {
        maven {
            url = uri("https://maven.pkg.github.com/startower/wallet-core")
            credentials {
                username = properties.getProperty("gpr.user") as String?: System.getenv("GITHUB_USER")
                password = properties.getProperty("gpr.key") as String?: System.getenv("GITHUB_TOKEN")
            }
        }
    }
}

Code Examples

In the following sections we show code examples for some common funcions.

Wallet Management

First thing we need is to load JNI library

Creating or Importing a Multi-Coin HD Wallet

Transaction Signing

In general, when creating a new blockchain transaction, a wallet has to:

  1. Put together a transaction with relevant fields (source, target, amount, etc.)

  2. Sign the transaction, using the account private key. This is done by StarTower Core.

  3. Send to a node for broadcasting to the blockchain network.

Ethereum Transaction Signing

Code example to fill in signer input parameters, perform signing, and retrieve encoded result:

Last updated