通過閱讀本文,您可以了解 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基本功能實現。