通过阅读本文,您可以了解 Android端集成SDK的方法。
环境要求
Android端具体环境要求,更多信息,请参见使用限制。
集成SDK
方法一:Maven集成(推荐)
在根目录的build.gradle中添加Maven仓库地址:
allprojects { repositories { google() jcenter() //添加RTC需要的Maven地址 maven { url "http://maven.aliyun.com/nexus/content/groups/public/" } } }
在项目的app/build.gradle文件中,添加如下行:
dependencies { ... //依赖的RTC SDK implementation 'com.ding.rtc:dingrtc-full:3.0.0' }
说明此处Maven依赖的版本仅供参考,获取最新的Maven依赖,请参见 SDK下载
在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官方说明。可选:配置防止代码混淆。
在proguard-rules.pro文件中,添加
-keep
类的配置,可以防止混淆RTC SDK公共类名称。-keep class org.webrtc.**{*;} -keep class com.ding.rtc.**{*;}
方法二:手动集成
下载并解压Android SDK,下载地址,请参见SDK下载。
复制SDK文件DingRtc.aar到App模块下的libs文件夹中。
在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官方说明。可选:配置防止代码混淆。
在proguard-rules.pro文件中,添加
-keep
类的配置,可以防止混淆RTC SDK公共类名称。-keep class org.webrtc.**{*;} -keep class com.ding.rtc.**{*;}
后续步骤
完成集成SDK操作后,您可以实现音视频通信的基本功能。具体操作,请参见Android基本功能实现。