【Android】集成乐播SDK实现投屏功能(一)环境配置

2022-03-29  本文已影响0人  鲨鲨指挥官

一. 环境配置

1. 导入SDK

首先需要从官网下载的ARR文件导入到工程的libs目录下。

在App模块的build.gradle文件下添加如下配置

repositories {
    flatDir {
        dirs 'libs'
    }
}
dependencies{
    compile(name: 'source-sdk', ext: 'aar')
}

2. 配置权限

<uses-permission android:name="android.permission.NFC" />
<uses-feature
      android:name="android.hardware.nfc"
      android:required="true" />
<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_MULTICAST_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<!-- mirror -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.CAPTURE_AUDIO_OUTPUT" />
<uses-permission android:name="android.permission.CAPTURE_VIDEO_OUTPUT" />
<uses-permission android:name="android.permission.CAPTURE_SECURE_VIDEO_OUTPUT" />

3. 混淆配置

###plist
-keep class com.dd.plist.** { *; }
-dontwarn com.dd.plist.**
###kxml
-keep class org.kxml2.** { *; }
-keep class org.xmlpull.** { *; }
-dontwarn org.kxml2.**
-dontwarn org.xmlpull.**
###Lebo
-keep class com.hpplay.**{*;}
-keep class com.hpplay.**$*{*;}
-dontwarn com.hpplay.**

4. SO文件接入

SDK已经将功能必须的so文件打包进aar包中,目前默认包含armeabi,armeabi-v7a, arm64-v8a,x86四种cpu架构的so 如果您的app只支持其中某一种so架构则需要您在SDK接入主工程目录下的build.gradle文件中进行过滤,过滤方法如下

defaultConfig {
    ...
    ndk {
        abiFilters "armeabi"
    }
    ...
}

如果集成过程中觉得aar的体积过大可以删除过滤掉的CPU架构的so文件夹。将aar文件后缀修改成zip然后用压缩软件打开并删除jni目录下非必须的so文件夹,然后保存把后缀再次修改成aar。

5. SDK初始化

在Application中进行配置

LelinkSourceSDK.getInstance()
                .setBindSdkListener(mBindSdkListener)   //初始化回调事件
                .setSdkInitInfo(getApplicationContext(),APP_ID,APP_SECRET)  //Context上下文,平台AppId,平台AppSecret
                .bindSdk();

或者

//Context上下文,平台AppId,平台AppSecret
LelinkSourceSDK.getInstance().bindSdk(context, APP_ID, APP_SECRET,new IBindSdkListener() {
    @Override
    public void onBindCallback(boolean b) {
        //接收初始化回调事件
    }
});

6. SDK销毁

在不使用时进行注销

LelinkSourceSDK.getInstance().unBindSdk();

下一节:关键方法配置

上一篇下一篇

猜你喜欢

热点阅读