通过阅读本文,您可以了解 Android端集成SDK的方法。

环境要求

Android端具体环境要求,更多信息,请参见使用限制

集成SDK

方法一:Maven集成(推荐)

  1. 在根目录的build.gradle中添加Maven仓库地址:

    allprojects {
        repositories {
            google()
            jcenter()
            //添加RTC需要的Maven地址
            maven {
                url "http://maven.aliyun.com/nexus/content/groups/public/"
            }
        }
    }
  2. 在项目的app/build.gradle文件中,添加如下行:

    dependencies {   
            ...   
        //依赖的RTC SDK  
        implementation 'com.ding.rtc:dingrtc-full:3.0.0'
    }
    说明

    此处Maven依赖的版本仅供参考,获取最新的Maven依赖,请参见 SDK下载

  3. app/src/main/AndroidManifest.xml文件中添加如下代码,获取相应的设备权限。

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.ding.rtc">
    
        <!-- 网络权限 -->
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
        <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
        <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    
        <uses-permission android:name="android.permission.WAKE_LOCK" />
        <!-- 视频权限 -->
        <uses-permission android:name="android.permission.CAMERA" />
        <!-- 录音权限 -->
        <uses-permission android:name="android.permission.RECORD_AUDIO" />
        <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
        <uses-permission android:name="android.permission.BLUETOOTH" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    
        <!-- 蓝牙 startBluetoothSco 会用到此权限 -->
        <uses-permission android:name="android.permission.BROADCAST_STICKY"/>
    
        <application>
            <activity
                android:name="org.webrtc.mozi.JavaScreenCapturer$ScreenCaptureAssistantActivity"
                android:theme="@android:style/Theme.Translucent" />
        </application>
    
    </manifest>

    若 Android 项目 targetSdkVersion 为31及更高系统版本,官方要求需要在代码中动态申请 android.permission.BLUETOOTH_CONNECT权限,以正常使用蓝牙功能,具体信息请参见 Android官方说明

  4. 可选:配置防止代码混淆。

    proguard-rules.pro文件中,添加-keep类的配置,可以防止混淆RTC SDK公共类名称。

    -keep class org.webrtc.**{*;}
    -keep class com.ding.rtc.**{*;}    

方法二:手动集成

  1. 下载并解压Android SDK,下载地址,请参见SDK下载

  2. 复制SDK文件DingRtc.aar到App模块下的libs文件夹中。

  3. app/src/main/AndroidManifest.xml文件中添加如下代码,获取相应的设备权限。

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.ding.rtc">
    
        <!-- 网络权限 -->
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
        <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
        <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    
        <uses-permission android:name="android.permission.WAKE_LOCK" />
        <!-- 视频权限 -->
        <uses-permission android:name="android.permission.CAMERA" />
        <!-- 录音权限 -->
        <uses-permission android:name="android.permission.RECORD_AUDIO" />
        <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
        <uses-permission android:name="android.permission.BLUETOOTH" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    
        <!-- 蓝牙 startBluetoothSco 会用到此权限 -->
        <uses-permission android:name="android.permission.BROADCAST_STICKY"/>
    
        <application>
            <activity
                android:name="org.webrtc.mozi.JavaScreenCapturer$ScreenCaptureAssistantActivity"
                android:theme="@android:style/Theme.Translucent" />
        </application>
    
    </manifest>

    若 Android 项目 targetSdkVersion 为31及更高系统版本,官方要求需要在代码中动态申请 android.permission.BLUETOOTH_CONNECT权限,以正常使用蓝牙功能,具体信息请参见 Android官方说明

  4. 可选:配置防止代码混淆。

    proguard-rules.pro文件中,添加-keep类的配置,可以防止混淆RTC SDK公共类名称。

    -keep class org.webrtc.**{*;}
    -keep class com.ding.rtc.**{*;}    

后续步骤

完成集成SDK操作后,您可以实现音视频通信的基本功能。具体操作,请参见Android基本功能实现