1. About
    1. Welcome
    2. Project News
    3. Architecture
    4. Community Wiki
  2. Get Involved
    1. Get the Code
    2. Mailing Lists
    3. Contributing
  3. Virtual Device
    1. Building
    2. Running
  4. Server Components
    1. Install
    2. Configure
  5. Client — Android
    1. Build & Install
    2. Using
  6. Client — iOS
    1. Build & Install
  7. Wire Protocol
    1. Protocol Description
    2. Extend and Build

Build the App for Android

Prerequisites

See the Android developer documentation for more information.

Build Steps

Check out the SVMP client and protocol side-by-side in a directory of your choice

git clone https://github.com/SVMP/svmp-protocol-def.git
git clone https://github.com/SVMP/svmp-android-client.git

Build the client using ant.

cd svmp-android-client
ant debug

Additional ant commands are documented here.

Gradle build files are also included, however Ant is recommended. Gradle 1.10, 1.11, or 1.12 is required. To build the application using gradle:

cd svmp-android-client
gradle build

Building with Server Certificate Pinning

By default, the client application will use Android’s built-in CA cert store when connecting to TLS-protected servers. To allow only specific server certificates or specific signing CAs, you can add your own set of “pinned” certificates at build time.

Place your chosen certificates into the svmp-android-client/server_certs/ directory in PEM format. The build process will pick up any files with a .pem extension in that directory and compile them into the pin list.

If you do not wish to use pinning, leave this directory empty. If using your own self-signed certificates, you can either place the cert in the pin list here, or enable allowing untrusted certs from with the application at run-time. See the client configuration guide for more information on the latter.

IDEs

Instructions for setting up projects for SVMP in the Eclipse and IntelliJ IDEA IDEs are included in the README.

Install

First enable installing applications from Unknown Sources on your phone.

Note: The SVMP client application does not function correctly in the Android SDK Emulator due to its use of certain OpenGL ES calls.