tencent cloud

文档反馈

最后更新时间:2024-01-13 15:53:49
    本文主要介绍如何快速地将腾讯云 LiteAVSDK(Android)集成到您的项目中,按照如下步骤进行配置,就可以完成 SDK 的集成工作。下面以全功能的 Live版 SDK 为例:

    开发环境要求

    Android Studio 3.5+。
    Android 4.1(SDK API 16)及以上系统。

    集成 SDK(aar)

    您可以选择使用 Gradle 自动加载的方式,或者手动下载 aar 再将其导入到您当前的工程项目中。

    方法一:自动加载(aar)

    因为 jcenter 已经下线,您可以通过在 gradle 配置 mavenCentral 库,自动下载更新 LiteAVSDK。 只需要用 Android Studio 打开需要集成 SDK 的工程,然后通过简单的四个步骤修改 build.gradle 文件,就可以完成 SDK 集成:
    
    
    
    1. 打开 app 下的 build.gradle。
    2. 在 dependencies 中添加 LiteAVSDK 的依赖。
    dependencies {
    implementation 'com.tencent.liteav:LiteAVSDK_Live:latest.release'
    }
    dependencies {
    implementation 'com.tencent.liteav:LiteAVSDK_Live:latest.release@aar'
    }
    3. 在 defaultConfig 中,指定 App 使用的 CPU 架构(目前 LiteAVSDK 支持 armeabi-v7a 和 arm64-v8a)。
    defaultConfig {
    ndk {
    abiFilters "armeabi-v7a", "arm64-v8a"
    }
    }
    4. 单击
    
    Sync Now 同步 SDK,如果您的网络连接 mavenCentral 没有问题,很快 SDK 就会自动下载集成到工程里。

    方法二:手动下载(aar)

    如果您的网络连接 mavenCentral 有问题,也可以手动下载 SDK 集成到工程里:
    1. 下载 LiveAVSDK ,下载完成后进行解压。
    2. 将下载文件解压之后 SDK 目录下的 aar 文件拷贝到工程的 app/libs 目录下:
    
    3. 在工程根目录下的 build.gradle 中,添加 flatDir,指定本地仓库路径。
    
    4. 添加 LiteAVSDK 依赖,在 app/build.gradle 中,添加引用 aar 包的代码。
    
    implementation(name:'LiteAVSDK_Live_11.2.0.13154', ext:'aar')
    5. app/build.gradle 的 defaultConfig 中,指定 App 使用的 CPU 架构(目前 LiteAVSDK 支持 armeabi-v7a 和 arm64-v8a)。
    defaultConfig {
    ndk {
    abiFilters "armeabi-v7a", "arm64-v8a"
    }
    }
    6. 单击 Sync Now 同步 SDK,完成 LiteAVSDK 的集成工作。

    集成 SDK(jar)

    如果您不想集成 aar 库,也可以通过导入 jar 和 so 库的方式集成 LiteAVSDK:
    1. 下载 LiveAVSDK ,下载完成后进行解压。在 SDK 目录下找到 LiteAVSDK_Live_xxx.zip(其中 xxx 为 LiteAVSDK 的版本号):
    
    2. 解压后得到 libs 目录,里面主要包含 jar 文件和 so 文件夹,文件清单如下:
    
    3. 将解压得到的 jar文件和 armeabi-v7a、arm64-v8a 文件夹拷贝到 app/libs 目录下。
    
    4. app/build.gradle 中,添加引用 jar 库的代码。
    
    dependencies{
    implementation fileTree(dir:'libs',include:['*.jar'])
    }
    5. 在工程根目录下的 build.gradle 中,添加 flatDir,指定本地仓库路径。
    
    6. app/build.gradle 中,添加引用 so 库的代码。
    
    7. app/build.gradle 的 defaultConfig 中,指定 App 使用的 CPU 架构(目前 LiteAVSDK 支持 armeabi-v7a 和 arm64-v8a) 。
    defaultConfig {
    ndk {
    abiFilters "armeabi-v7a", "arm64-v8a"
    }
    }
    8. 单击 Sync Now 同步 SDK,完成 LiteAVSDK 的集成工作。

    配置 App 打包参数

    
    
    
    packagingOptions {
    pickFirst '**/libc++_shared.so'
    doNotStrip "*/armeabi/libYTCommon.so"
    doNotStrip "*/armeabi-v7a/libYTCommon.so"
    doNotStrip "*/x86/libYTCommon.so"
    doNotStrip "*/arm64-v8a/libYTCommon.so"
    }

    配置 App 权限

    在 AndroidManifest.xml 中配置 App 的权限,LiteAVSDK 需要以下权限:
    <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.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <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.CAMERA" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-feature android:name="android.hardware.camera.autofocus" />

    配置 License 授权

    单击 License 申请 获取 License。您会获得两个字符串:一个字符串是 licenseURL,另一个字符串是解密 key。
    在您的 App 调用全功能版 SDK 相关功能之前(建议在 Application类中)进行如下设置:
    public class MApplication extends Application {
    
    @Override
    public void onCreate() {
    super.onCreate();
    String licenceURL = ""; // 获取到的 licence url
    String licenceKey = ""; // 获取到的 licence key
    V2TXLivePremier.setEnvironment("GDPR"); // 设置环境
    V2TXLivePremier.setLicence(this, licenceURL, licenceKey);
    V2TXLivePremier.setObserver(new V2TXLivePremierObserver() {
    @Override
    public void onLicenceLoaded(int result, String reason) {
    Log.i(TAG, "onLicenceLoaded: result:" + result + ", reason:" + reason);
    }
    });
    }
    }
    

    设置混淆规则

    在 proguard-rules.pro 文件中,将 LiteAVSDK 相关类加入不混淆名单:
    -keep class com.tencent.** { *; }

    常见问题

    1. Android 端使用 LiteAVSDK 录屏/屏幕共享功能必现 crash 问题怎么解决?

    请您先检查下项目里面 targetSdkVersion 设置,如果设置的29那么运行 Android 10 设备使用录屏共享会触发闪退问题。原因是安卓隐私策略有更改,解决办法需要启动前台 service,并指定 type 为 mediaProjection 即可,不需要在 Service 里面调用 startScreenCapture。

    2. 项目里面同时集成了直播 SDK/实时音视频/播放器等 LiteAVSDK 系列的多个 SDK 报符号冲突问题怎么解决?

    如果集成了2个或以上产品(直播、播放器、TRTC、短视频)的 LiteAVSDK 版本,编译时会出现库冲突问题,因为有些 SDK 底层库有相同符号文件,这里建议只集成一个全功能版 SDK 可以解决,直播、播放器、TRTC、短视频这些都包含在一个 SDK 里面。具体请参见 SDK 下载
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持