集成Android SDK
更新时间:2025-05-07
准备环境
本节将介绍如何创建项目,将BRTC SDK集成进你的项目中。
Android Studio 2022 或以上版本,Gradle 7.2或以上版本,编译环境请选择支持java8 Android KK(4.4)及以上的设备
*注:经过验证的开发环境如下:
Plain Text
1------------------------------------------------------------
2Gradle 7.2
3------------------------------------------------------------
4
5Build time: 2021-08-17 09:59:03 UTC
6Revision: a773786b58bb28710e3dc96c4d1a7063628952ad
7
8Kotlin: 1.5.21
9Groovy: 3.0.8
10Ant: Apache Ant(TM) version 1.10.9 compiled on September 27 2020
11JVM: 11.0.26 (Homebrew 11.0.26+0)
12OS: Mac OS X 15.1 aarch64
下载SDK
大模型实时互动SDK必须依赖 RTCSDK
maven方式
推荐使用 Maven 在项目中接入,步骤如下:
RTC SDK maven 版本列表: https://repo1.maven.org/maven2/com/baidubce/mediasdk/brtc/
Agent SDK maven版本列表: https://repo1.maven.org/maven2/com/baidubce/mediasdk/lib_agent/
Plain Text
1implementation 'com.baidubce.mediasdk:brtc:2.xx.xx'
2implementation 'com.baidubce.mediasdk:lib_agent:1.0.xx.xx'
离线版本
进入RTC文档中心,点击“下载专区>SDK&Demo下载”,即可下载客户端SDK。下载后请校验下载的包md5值与SDK中心里记录的是否一致。
创建Android项目,若已有 Android 项目,可以直接集成 SDK
将SDK包内 brtc-xxx.aar, lib-agent-xxxx.aar 拷贝到项目的libs目录.
依赖权限
Plain Text
1<uses-permission
2 android:name="android.permission.ACCESS_FINE_LOCATION" />
3
4<uses-permission
5 android:name="android.permission.ACCESS_COARSE_LOCATION" />
6
7<uses-permission
8 android:name="android.permission.INTERNET" />
9
10<uses-permission
11 android:name="android.permission.CAMERA" />
12
13<uses-permission
14 android:name="android.permission.RECORD_AUDIO" />
15
16<uses-permission
17 android:name="android.permission.FOREGROUND_SERVICE" />
18
19<uses-permission
20 android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
21
22<uses-permission
23 android:name="android.permission.CHANGE_NETWORK_STATE" />
24
25<uses-permission
26 android:name="android.permission.ACCESS_NETWORK_STATE" />
27
28<uses-permission
29 android:name="android.permission.BLUETOOTH" />
30
31<uses-permission
32 android:name="android.permission.ACCESS_WIFI_STATE" />
代码防混淆
Plain Text
1-keep class okhttp3.** { *; }
2-keep interface okhttp3.** { *; }
3-keep interface okhttp3.Interceptor$* { *; }
4
5-keep class com.baidu.rtc.BaiduRtcRoom {*;}
6-keep class com.webrtc.** {*;}
7-keep class com.baidu.rtc.** {*;}
项目配置
Gradle
1android {
2 compileOptions {
3 sourceCompatibility JavaVersion.VERSION_1_8
4 targetCompatibility JavaVersion.VERSION_1_8
5 }
6
7 packagingOptions {
8 doNotStrip "**/*.so"
9 pickFirst "**/*.so"
10 resources.excludes.add("META-INF/*")
11 }
12
13 sourceSets.main {
14 jniLibs.srcDir 'libs'
15 jni.srcDirs = []
16 }
17}
集成大模型互动AndroidSDK
本节介绍如何实现大模型实时互动。调用时序见下图:
关键代码段
- 创建大模型实时互动Engine
Java
1 private AIAgentEngine.AIAgentEngineParams mAiAgentParams;
2 private AIAgentEngine mAiAgent;
3
4 mAiAgentParams = new AIAgentEngine.AIAgentEngineParams();
5 mAiAgentParams.appId = mClientData.mAppId;
6 mAiAgentParams.context = mClientData.mContext;
7 mAiAgent = AIAgentEngine.init(mActivity, mAiAgentParams);
8 mAiAgent.setCallback(this);
9
- 开始通话
Java
1 mAiAgent.call(mClientData.mTokenStr, JavaTypesHelper.toLong(mClientData.mInstanceId, 1));
2
- 结束通话
Java
1 mAiAgent.hangup();
- 销毁
Java
1 if (mAiAgent != null) {
2 mAiAgent.destroy();
3 }