Android SDK - Twilio
Register for SIGNAL by 8/31 for $250 off. Register now.

Android SDK

Twilio Programmable Voice SDK for Android allows you to add voice-over-IP (VoIP) calling into your native Android applications.

For step-by-step instructions to get up and running with the Android SDK for Programmable Voice, check out the quickstart on Github.

Authentication/Authorization

In the Programmable Voice SDKs we use a new authentication/authorization mechanism for your application server to give your clients access to your voice applications. This is done by providing your app an Access Token, which governs the client application’s authentication session with your account in the Twilio cloud. Access Tokens are different from the Capability Tokens used in the previous versions of Twilio Client. Using a Capability Token in the Programmable Voice SDK will not work. Access Tokens, just like Capability Tokens before, are JWT tokens, but are using a new, more flexible format that is used across all the new Twilio SDKs.

Management Console

Developer tools and configuration options for Programmable Voice can be found in the Programmable Voice Dashboard. Use the console to create TwiML apps, update push credentials, view logs, and much more.

System Requirements

Supported Devices and Emulators

The Programmable Voice Android SDK supports armeabi-v7a, arm64-v8a, x86, and x86_64 architectures, as well as emulator images for these architectures.

Supported API Levels

The SDK supports Android API Level 16 (Jelly Bean) and higher.

Developer Tools

To build the associated Quickstart project you will need Android Studio with installed SDK Platform for API Level 24, as well as the supporting libraries.

Installing the SDK

To install the latest Programmable Voice Android SDK add the following configuration to your build.gradle file:

allprojects {
  repositories {
     jcenter()
  }
}

dependencies {
  // The Voice SDK resides on jCenter
  compile 'com.twilio:voice-android:2.0.1'
}

Enabling Microphone Permissions

In order to target Android API level 23 or later, you will need to ensure that your application requests runtime permissions for microphone access. To do this, perform the following two steps:

First, add the following to your Android Manifest file:

 <uses-permission android:name="android.permission.RECORD_AUDIO"/>

Second, request microphone permissions from within your application code:

ActivityCompat.requestPermissions(this,
    new String[]{Manifest.permission.RECORD_AUDIO}, MIC_PERMISSION_REQUEST_CODE);
}

See the Official Android Documentation for more details.

Setting up a ProGuard Exception

Add the following line to your proguard-project.txt file.

# Twilio Programmable Voice
-keep class com.twilio.** { *; }

This will ensure that the Programmable Voice library is not removed by ProGuard.

Getting Help

We are anxious to hear your feedback and help you with any trouble you may encounter. For technical support, file a ticket with our support team or send an email to help@twilio.com.

Need some help?

We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd browsing the Twilio tag on Stack Overflow.