The EnableX Android SDK is for developing Native Android Applications integrated with EnableX RTC sessions. The SDK has all the methods interfacing EnableX Signaling Server and Media Servers to communicate and to listen to event based notifications during a session.

Released: November 2, 2020

Table of Contents

How to use Android SDK?

By using Android Archive Library (.aar)

  • Download the .aar file from the link given above.
  • Put the file into your Project Directory of Android Studio.
  • Edit the build.gradle for your project (At Project’s Root) and place the following Code Snippet in the allprojects.repositories section
allprojects {
      repositories {
          flatDir {
              dirs 'src/main/libs'
          }
      }
  }
  • Edit the build.gradle for your module (The app/build.gradle file) and add the following Code Snippet in the dependencies section:
 implementation 'org.webrtc:google-webrtc:1.0.25331'

 implementation('io.socket:socket.io-client:1.0.0') {
     //Excluding org.json which is provided by Android
     exclude group: 'org.json', module: 'json'
 }

 implementation (name: 'EnxRtcAndroid-release_1.7.0', ext: 'aar') implementation 'android.arch.lifecycle:extensions:1.1.1'

Note: If App uses Android SDK 1.7.0+ then it mandatory to use
 implementation 'android.arch.lifecycle:extensions:1.1.1' as shown above.

By using Maven Dependency

A Maven version is also available. Modify your app gradle to download the Enablex Android SDK.

  • Edit the build.gradle for your project and add the following code snippet to the allprojects.repositories section:
 allprojects {
      repositories {
           maven  {
               url  "https://dl.bintray.com/enablex/maven" 
          }
      }
  } 
  • Modify build.gradle for your module and add the following code snippet to the dependencies section:
implementation 'com.enxrtc:Enx-Rtc-Android:1.7.0'
implementation 'android.arch.lifecycle:extensions:1.1.1'

Define Permissions

Define Permissions in AndroidManifest.xml

<uses-permission android:name="android.permission.CAMERA"/>  
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> 
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>

Define Features

Define features in AndroidManifest.xml

<uses-feature android:name="android.hardware.camera"/> 
<uses-feature android:name="android.hardware.camera.autofocus"/>  
<uses-feature android:glEsVersion="0x00020000" android:required="true"/>     

Explore Android SDK