跑通示例项目
本文介绍如何创建一个简单的 Maven 项目,集成 RTC 服务端 Java SDK,并运行应用。
准备开发环境
确保你的服务器满足以下需求。
硬件环境
操作系统
- Ubuntu(18.04 版本及以上)
- CentOS(7.0 版本及以上)
CPU 架构
- x86-64
如果你需要在其他架构上集成 SDK,请联系 sales@shengwang.cn。
性能
- CPU:8 核 1.8 GHz 或更高配置
- 内存 2 GB。推荐 4 GB 或更高内存。
网络
- 服务器接入公网,有公网 IP
- 服务器允许访问 .agora.io 以及 .agoralab.co
软件环境
- Apache Maven 或其他构建工具。本文使用 Apache Maven。
- JDK 8
开通服务
参考开通服务获取声网 App ID 和 RTC 临时 Token。
创建一个 Maven 项目
参考 Maven in Five Minutes 创建 Maven 项目
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
集成 SDK
-
导航至
my-app
目录。Shellcd my-app
-
打开
pom.xml
文件并将文件内容替换为以下文本:信息dependencies
中的version
字段为 SDK 版本号,需随你集成的 SDK 版本更换。最新的 SDK 版本号可参考发版说明。XML<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>agora-rtc-linux-java</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>io.agora.rtc</groupId>
<artifactId>linux-java-sdk</artifactId>
<version>4.4.30</version>
</dependency>
</dependencies>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
<configuration>
<createDependencyReducedPom>true</createDependencyReducedPom>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>App</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
如果你使用其他的集成方式,可以参考 mvnrepository。
实现一个 HelloWorld 应用
-
导航至
my-app/src
并删除test
目录。Shellrm -r test
-
导航至
my-app/src/main/java/com/mycompany/app/App.java
并将内容替换为以下文本。 将Your Token
和Your App ID
替换为你的 RTC 临时 Token 和声网 App ID。注意连接 RTC 频道的用户名必须和生成 RTC 临时 Token 的用户名一致。在下面的示例代码中,频道名设为 "test_channel"。如果你使用其他频道名生成 Token,则需要将 "test_channel" 替换为你自己使用的频道名。
Javaimport io.agora.rtc.SDK;
import io.agora.rtc.AgoraRtcConn;
import io.agora.rtc.AgoraService;
import io.agora.rtc.AgoraServiceConfig;
import io.agora.rtc.DefaultRtcConnObserver;
import io.agora.rtc.RtcConnInfo;
public class App {
public static class ConnObserver extends DefaultRtcConnObserver {
@Override
public void onConnected(AgoraRtcConn conn, RtcConnInfo rtcConnInfo, int reason) {
System.out.println("join success");
}
}
public static void main(String[] args) throws Exception {
String token = "Your Token";
AgoraService service = new AgoraService();
AgoraServiceConfig config = new AgoraServiceConfig();
config.setEnableAudioProcessor(0);
config.setEnableAudioDevice(0);
config.setEnableVideo(0);
config.setContext(0);
config.setAppId("Your App ID");
service.initialize(config);
AgoraRtcConn conn = service.agoraRtcConnCreate(null);
conn.registerObserver(new ConnObserver());
conn.connect(token, "test_channel", "1");
Thread.sleep(2000);
conn.disconnect();
conn.destroy();
service.destroy();
}
} -
导航至
my-app
目录并创建一个lib
目录,从 Maven 获取linux-java-sdk
jar 文件并提取文件。信息dependencies
中的version
字段为 SDK 版本号,需随你集成的 SDK 版本更换。最新的 SDK 版本号可参考发版说明。Shellmkdir lib
cd lib
wget https://repo1.maven.org/maven2/io/agora/rtc/linux-java-sdk/4.4.30/linux-java-sdk-4.4.30.jar
jar xvf linux-java-sdk-4.4.30.jar -
导航至
my-app
目录。将lib/native/linux/x86_64
目录加入LD_LIBRARY_PATH
。Shellexport LD_LIBRARY_PATH=lib/native/linux/x86_64/:$LD_LIBRARY_PATH
-
构建项目:
Shellmvn package
-
运行应用:
Shelljava -cp target/agora-rtc-linux-java-1.0-SNAPSHOT.jar com.mycompany.app.App
如果 app 运行成功,控制台会打印以下信息:
$ java -cp target/agora-rtc-linux-java-1.0-SNAPSHOT.jar com.mycompany.app.App
join success