开发环境配置
服务端
视频流引擎服务端的安装包名称为VideoEngine.tar.gz。
- 将VideoEngine.tar.gz放至“/home/VideoEngine/Cloud”目录下。
用户可以根据需求选择文件存放目录。
- 解压视频流引擎服务端开发包。
tar xzvf VideoEngine.tar.gz
- 再将解压出来的二进制文件复制至云手机(以cloudphone_1云手机为例)内。
docker cp system/bin cloudphone_1:/system/
docker cp system/etc cloudphone_1:/system/
docker cp system/lib cloudphone_1:/system/
docker cp system/lib64 cloudphone_1:/system/
docker cp vendor/lib cloudphone_1:/vendor/
docker cp vendor/lib64 cloudphone_1:/vendor/
- 如果要对视频流引擎服务端进行二次开发,需要配置AOSP环境用来编译,并将解压出来的include目录添加至头文件目录。
- 配置AOSP环境。
cd android-11.0.0_r48 repo init -u https://android.googlesource.com/platform/manifest -b android-11.0.0_r48 repo sync -j8 repo start android-11.0.0_r48 --all source build/envsetup.sh lunch aosp_arm64-eng make
- 编辑Android.mk文件,将解压出来的include目录添加至头文件目录。
vim Android.mk
LOCAL_C_INCLUDES += /home/VideoEngine/Cloud/include
- 配置AOSP环境。
客户端
视频流引擎客户端的安装包名称为VideoEngineClient.tar.gz。
- 将VideoEngineClient.tar.gz放至“/home/VideoEngine/Client”目录下。
用户可以根据需求选择文件存放目录。
- 使用视频流引擎客户端时,先将视频流引擎客户端解压。
tar xzvf VideoEngineClient.tar.gz
- 如果要对视频流引擎客户端进行二次开发,需要配置SDK和NDK环境(版本见获取软件包中所示)用来编译,并将解压出来的include目录添加至依赖的头文件目录。
以解码模块为例,如果要对解码模块进行二次开发实现云手机客户端,那么需要将解码模块的库文件放至工程的app目录(客户端工程根路径以“/home/CloudPhoneAPK”为例):
mkdir –p /home/CloudPhoneAPK/app/libs/arm64-v8a/
cp /home/VideoEngine/Client/arm64-v8a/libVideoDecoder.so /home/CloudPhoneAPK/app/libs/arm64-v8a/
编辑“/home/CloudPhoneAPK/app”目录下的build.gradle文件,新增如下内容:
android { defaultConfig { # 指定库文件位置 sourceSets { main { jniLibs.srcDirs = ['libs'] } } # 注意:一定要使用c++动态库 externalNativeBuild { cmake { arguments "-DANDROID_STL=c++_shared" } } } # 指定打包规则 packagingOptions { doNotStrip "*.so" } }
如果需要在CPP工程中引用解码模块,编辑“/home/CloudPhoneAPK/app/src/main/cpp”目录下的CMakeLists.txt,链接头文件、引入动态库。
# 链接头文件 include_directories(/home/VideoEngine/Client/include) # 声明动态库 add_library(libVideoDecoder SHARED IMPORTED) # 引入动态库 set_target_properties(libVideoDecoder PROPERTIES IMPORTED_LOCATION /home/VideoEngine/Client/arm64-v8a/libVideoDecoder.so) # 纳入编译范围 target_link_libraries(${PROJECT_NAME} libVideoDecoder)
父主题: 配置开发环境