---
title: 开发环境配置
description: "视频流引擎服务端的安装包名称为VideoEngine.tar.gz。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2300/armnative/kunpengcpsvideo_16_0006.html
sourcePath: /source/zh/kunpengboostkithistory/2300/armnative/kunpengcpsvideo_16_0006.html
indexId: 5a98d869024824bcbb0247287a619237d02267ac2951fcdf2435c83aa4cbfda577
---
# 开发环境配置

#### 服务端

视频流引擎服务端的安装包名称为VideoEngine.tar.gz。


1. 将VideoEngine.tar.gz放至“/home/VideoEngine/Cloud”目录下。
  用户可以根据需求选择文件存放目录。

2. 解压视频流引擎服务端开发包。
  1 tar xzvf VideoEngine.tar.gz

3. 再将解压出来的二进制文件复制至云手机（以cloudphone_1云手机为例）内。
  1 2 3 4 5 6 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/

4. 如果要对视频流引擎服务端进行二次开发，需要配置AOSP环境用来编译，并将解压出来的include目录添加至头文件目录。

  a. 配置AOSP环境。
    在安卓官网下载AOSP源码，执行以下命令配置环境。

    1 2 3 4 5 6 7 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

  b. 编辑Android.mk文件，将解压出来的include目录添加至头文件目录。
    1 vim Android.mk

```
LOCAL_C_INCLUDES += /home/VideoEngine/Cloud/include
```


#### 客户端

视频流引擎客户端的安装包名称为VideoEngineClient.tar.gz。

1. 将VideoEngineClient.tar.gz放至“/home/VideoEngine/Client”目录下。
  用户可以根据需求选择文件存放目录。

2. 使用视频流引擎客户端时，先将视频流引擎客户端解压。
  1 tar xzvf VideoEngineClient.tar.gz

3. 如果要对视频流引擎客户端进行二次开发，需要配置SDK和NDK环境（版本见获取软件包中所示）用来编译，并将解压出来的“include”目录添加至依赖的头文件目录。
  a. 以解码模块为例，如果要对解码模块进行二次开发实现云手机客户端，那么需要将解码模块的库文件放至工程的app目录（客户端工程根路径以“/home/CloudPhoneAPK”为例）。
    1 2 mkdir –p /home/CloudPhoneAPK/app/libs/arm64-v8a/ cp /home/VideoEngine/Client/arm64-v8a/libVideoDecoder.so /home/CloudPhoneAPK/app/libs/arm64-v8a/

  b. 编辑“/home/CloudPhoneAPK/app”目录下的build.gradle文件，新增如下内容：

```
android {
defaultConfig {
# 指定库文件位置
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
# 注意：一定要使用c++动态库
externalNativeBuild {
cmake {
arguments
"-DANDROID_STL=c++_shared"
}
}
}
# 指定打包规则
packagingOptions {
doNotStrip "*.so"
}
}
```


  c. 如果需要在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)
```
