当前页

集成 SDK

2026-09-17

前提条件

开发和运行环境需满足以下要求:

  • 操作系统与架构:x86_64 架构的 Linux 操作系统
  • C 运行库:glibc 2.18 或以上
  • Java 开发工具: 64 位 JDK 8 或以上,包含 java、javac 和 jar 命令
  • 命令行工具:Bash、curl、unzip
  • 底层依赖库:libasound(ALSA)、libv4l2(v4l utils)
说明
  • SDK 依赖 libasound (ALSA) 和 libv4l2 (v4l utils)。
  • CentOS (RHEL/Fedora) 可以通过执行 yum install alsa-lib-devel libv4l-devel 命令安装。
  • Ubuntu (Debian/Deepin) 可以通过执行 apt install libasound2-dev libv4l-dev 命令安装。
  • 其他平台和系统请自行安装。
  • 若需要交叉编译,请参考 如何交叉编译 Linux alsa-lib 依赖库?如何交叉编译 Linux v4l-utils 依赖库? 两篇文档,同时目标机器需安装好 libasound 和 libv4l2 依赖库。

可通过以下命令检查服务器的运行环境是否符合要求:

uname -m                         # 应输出 x86_64
getconf GNU_LIBC_VERSION          # 应为 glibc 2.18 或以上
java -version
javac -version

下载 SDK

参考 下载 SDK 或以下 curl 命令下载并解压 SDK:

curl -fL "https://artifact-sdk.zego.im/downloads/ZegoRecorder-linux-java.zip" \
    -H "Referer: https://doc-zh.zego.im/" \
    -o ZegoRecorder-linux-java.zip 

unzip ZegoRecorder-linux-java.zip

解压后的目录结构如下:

ZegoRecorder-linux-java/
    ├── VERSION.txt
    ├── Document/
    │   └── index.html
    └── Library/
        ├── ZegoRecorder.jar
        └── x86_64/libZegoRecorder.so
文件或目录用途是否需要复制到工程
Library/ZegoRecorder.jarJava 接口及 JNI 桥接类编译和运行需要,加入 classpath
Library/x86_64/libZegoRecorder.soJNI 原生动态库运行需要,部署时也要携带
Document/离线 API 文档,打开 index.html 查看按需保留,不参与编译和运行
VERSION.txtSDK 版本信息建议保留,便于核对版本

新建项目并导入 SDK

1

创建工作目录 recorder-java-integration

mkdir -p recorder-java-integration
cd recorder-java-integration
2

recorder-java-integration 下创建项目,将 SDK 文件放入 sdk/

mkdir -p recorder-java/src/com/example recorder-java/sdk/Library/x86_64
cp sdk-download/release/Library/ZegoRecorder.jar recorder-java/sdk/Library/
cp sdk-download/release/Library/x86_64/libZegoRecorder.so recorder-java/sdk/Library/x86_64/
cp sdk-download/release/VERSION.txt recorder-java/sdk/
cd recorder-java

项目结构如下:

recorder-java/
    ├── src/com/example/
    └── sdk/
        ├── VERSION.txt
        └── Library/
            ├── ZegoRecorder.jar
            └── x86_64/libZegoRecorder.so
3

创建 src/com/example/Main.java

package com.example;

import com.zego.zegoliveroom.ZegoLiveRoom;

public final class Main {
    public static void main(String[] args) {
        ZegoLiveRoom sdk = new ZegoLiveRoom();
        System.out.println("Recorder SDK: " + sdk.getSDKVersion());
    }
}
4

recorder-java 目录编译、打包并运行:

mkdir -p out/classes
javac -encoding UTF-8 -cp sdk/Library/ZegoRecorder.jar \
  -d out/classes src/com/example/Main.java
jar cfe out/recorder-app.jar com.example.Main -C out/classes .
export LD_LIBRARY_PATH="$PWD/sdk/Library/x86_64${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
java -Djava.library.path="$PWD/sdk/Library/x86_64" \
  -cp "out/recorder-app.jar:sdk/Library/ZegoRecorder.jar" com.example.Main

控制台打印 Recorder SDK: <版本号> 表示成功集成 SDK。

最终项目结构如下:

recorder-java/
    ├── out
    │    ├── recorder-app.jar
    │    └── classes/com/example/
    │        └── Main.class
    ├── src/com/example/
    │    └── Main.java
    └── sdk/
        ├── VERSION.txt
        └── Library/
            ├── ZegoRecorder.jar
            └── x86_64/libZegoRecorder.so

常见问题

检查 include 路径或编译、运行 classpath,确认使用对应语言的 SDK 。

检查部署路径与动态库搜索路径。

用 ldd 检查应用、SDK 及其他库,使用满足全部依赖要求的环境。

例如,在项目目录检查动态库依赖:

ldd sdk/Library/x86_64/libZegoRecorder.so

如果输出中出现 not found,说明缺少运行库;输出中出现 version ... not found,说明运行库版本不满足要求,请安装或更新对应的运行库。

检查 JVM/so 均为 x86_64,并确认 JAR 与 so 配套。

上一篇

跑通示例源码

下一篇

录制单流

当前页

返回到顶部