快速集成
更新时间:2021-05-26
LinkV RTCEngine SDK
支持 Android 5.1
或以上版本系统,AndroidStudio
建议使用 3.6
或以上版本,目前暂不支持模拟器运行。
AppId 和 AppSecret 申请
注册开发者平台账号,创建应用,然后获取 AppId 和 AppSecret 获取 AppID 和 AppSecret 指引
准备环境
请确保开发环境满足以下技术要求:
- Android Studio 3.0 或以上版本。
- Android 版本不低于 5.1 且支持音视频的 Android 真机。
- Android 设备已经连接到 Internet。
导入工程
目前 LinkV 实时音视频 SDK
仅支持通过拷贝 .jar
和 .so
的方式集成,目前支持的平台架构包括:armeabi-v7
、arm64-v8a
,集成步骤如下。
手动集成
- 从 LinkV 开发者平台下载 SDK。
-
导入并配置SDK
-
下载完 最新SDK 后进行解压。
-
将
linkV.jar
文件放入到项目的libs
文件夹中,armeabi-v7a
和arm64-v8a
文件夹放入到jniLibs
文件夹中。 -
添加
jar包
引用,打开项目中的app/build.gradle
文件,添加如下代码:... dependencies { ... implementation files('libs/linkv.jar') }
-
指定
ndk
支持的平台类型,打开项目中的app/build.gradle
文件,添加如下代码:... ndk { abiFilters 'armeabi-v7a', 'arm64-v8a' }
-
添加权限
打开项目中的 app/src/main/AndroidManifest.xml
文件,添加如下代码。
<!-- 访问网络连接,可能产生GPRS流量-->
<uses-permission android:name="android.permission.INTERNET" />
<!-- 获取网络信息状态,如当前的网络连接是否有效-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- 获取当前WiFi接入的状态以及WLAN热点的信息-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!-- 允许访问摄像头进行拍照-->
<uses-permission android:name="android.permission.CAMERA" />
<!-- 允许使用相机-->
<uses-feature android:name="android.hardware.camera" />
<!-- 允许使用相机的自动对焦功能-->
<uses-feature android:name="android.hardware.camera.autofocus" />
<!-- 录制声音通过手机或耳机的麦克-->
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<!-- 修改声音设置信息-->
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
因为 Android 6.0
在一些比较重要的权限上要求必须动态申请权限,不能只通过 AndroidMainfest.xml
文件声明权限。因此还需要参考执行如下代码(requestPermissions
是 Activity
的方法)
String[] permissionNeeded = {
"android.permission.CAMERA",
"android.permission.RECORD_AUDIO"};
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (ContextCompat.checkSelfPermission(this, "android.permission.CAMERA") != PackageManager.PERMISSION_GRANTED ||
ContextCompat.checkSelfPermission(this, "android.permission.RECORD_AUDIO") != PackageManager.PERMISSION_GRANTED) {
requestPermissions(permissionNeeded, 101);
}
}
支持http域名
由于 Android 9.0
以上版本默认禁止使用 http域名
,但 sdk 还需要使用到 http域名
,故需要做一些配置以支持 Android 9.0
以上的版本使用http域名
。
创建网络配置xml文件
在项目路径 app/src/main/res/xml
文件夹中创建文件 network_security_config.xml
,并添加如下代码:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
在AndroidManifest.xml中设置网络配置文件
打开项目中的 app/src/main/AndroidManifest.xml
文件,在 application
标签中添加如下属性:
...
android:networkSecurityConfig="@xml/network_security_config"
...
防止混淆代码
打开项目中的 app/proguard-rules.pro
文件,添加如下代码:
...
-keep class com.linkv.rtc.* { *; }
测试集成
导入包,然后执行 initSdk
,看是否有问题:
private void initSDK() {
LVRTCEngine rtcEngine = LVRTCEngine.getInstance(MyApplication.instance);
// 初始化sdk
rtcEngine.initSDK();
}