Qualcomm 增强型软件开发套件 (QESDK) 启动和示例应用程序用户指南(2)
3.3 构建示例应用程序
创建项目
下载 QESDK 产品套件中的示例应用程序代码并在 Android Studio 中打开它。
复制库
请参阅添加库以复制和添加库。添加 libs 和 jniLibs 文件后,QESDK 项目结构应与以下内容匹配。

构建应用程序
使用 gradle 构建示例应用程序。构建应用程序后,APK 会在构建文件夹中生成。
在硬件上部署应用程序
使用传统的Android方法安装生成的APK adb install。
3.4 验证调出
笔记
只能在已取得 root 权限的设备或 Qualcomm 参考设备上验证启动。
-
通过运行 来验证设备启动后qesdk-manager ls /vendor/bin | grep qesd是否存在。
-
通过运行来 验证qesdk-manager和 服务守护进程是否处于活动状态。vendor.qti.qesdk.sysservice ps -A | grep qesd
有关QESDK 管理器或 QESDK 系统服务守护程序不活动时该怎么做的详细信息, 请参阅排除 QESDK 服务守护程序不活动的故障。 -
通过运行来验证其他预期的服务守护进程是否处于活动状态 ps -A | grep qsap。
-
通过运行 验证/system_ext/etc/public.libraries-qti.txt中的 libqesdk_ndk_platform.qti.so条目是否存在。cat /system_ext/etc/public.libraries-qti.txt | grep qesdk
-
验证设备上是否存在以下 QESDK 相关文件。
- /system_ext/app/QesdkSysService/QesdkSysService.apk
- /system_ext/lib64/libqesdk_ndk_platform.qti.so
- /vendor/bin/qesdk-manager
- /vendor/etc/init/qesdk-manager.rc
- /vendor/etc/seccomp_policy/qesdk.policy
- /供应商/lib64/libqesdk_manager.so
- /供应商/lib64/libqesdk*.so
- /vendor/lib64/vendor.qti.qesdhal@*.so
- /vendor/lib64/vendor.qti.qesdsys-V3-ndk
3.4.1 排除 QESDK 服务守护程序不活动的故障
-
通过运行 来验证清单文件是否存在 cat /vendor/etc/vintf/manifest_kalama.xml | grep qesd。
您应该看到以下条目:<name>vendor.qti.qesdhal</name>
-
验证 HIDL 的清单条目。
<hal format="hidl"> <name>vendor.qti.qesdhal</name> <transport>hwbinder</transport> <version>1.3</version> <interface> <name>IQesdhal</name> <instance>default</instance> </interface> <fqname>@1.3::Iqesdhal/default</fqname> </hal>
-
验证 AIDL 的清单条目。
<hal format="aidl"> <name>vendor.qti.qesdsys</name> <fqname>IQesdSys/default</fqname> </hal>
-
如果清单文件不存在或者 HIDL 或 AIDL 条目不正确,请手动创建该文件或更正该条目。
4 QESDK 示例应用程序功能
4.1 应用程序仪表板
QESDK 应用程序仪表板包含 QESDK 框架支持的功能。
4.2 QESDK 核心 – Java 和本机 API 初始化
本节介绍 Java 和本机 API 的 QESDK 示例应用程序功能。当应用程序启动时,它会自动加载 Java 和 Native 支持和许可的模块。
笔记
传感器功能仅适用于 Java。
从 QESDK 应用程序仪表板中选择功能时,应用程序会按顺序取消初始化所有 Java 和 Native 模块,并执行清理以正常关闭应用程序。
4.3 调制解调器功能
支持以下调制解调器功能。
- 智能数据流
- 链路延迟经理(法学硕士)
- 数据路径优化 (DPP)
- 智能数据链
- 链路容量估计 (LCE)
- 链路延迟估计 (LLE)
- 链路层中断(LLI)
点击 QESDK 应用程序仪表板上的调制解调器以展开支持的调制解调器功能列表。
4.3.1 链路延迟管理器 (LLM)
单击 LLM 后,将加载活动并显示 LLM 屏幕。
- 点击 LLM INIT 按钮初始化 LLM 模块
- 填写申请数据
- 应用程序类型
- 源IP(设备IP)和端口
- 目的IP和端口
- 下拉列表中的上行链接和下行链接
- Sim 插槽、协议、OOD、DSCP
- PDCP 和不活动计时器
- 报告间隔
- 添加过滤器 – 填写应用程序详细信息后,如果点击添加过滤器,将为所有 IP 添加过滤器
- 添加过滤器 2 – 填写应用程序详细信息后,如果点击添加过滤器 2,则将仅为特定 IP 添加过滤器
- 设置 LLM 级别 – 设置所有 IP 的 LLM 级别
- 更新延迟 – 更新延迟级别
- 注册过滤器状态更新 – 注册应用程序以获取过滤器状态更新
- GET FILTER – 检索所有过滤器详细信息
- 删除过滤器 – 删除具有所选 ID 的过滤器
- 删除所有过滤器 – 从 QESDK LLM 服务中删除所有过滤器
- UPDATE OOD – 更新 OOD
- 更新 PDCP 计时器 – 更新 PDCP 计时器
- UPDATE OOD FOR DDS – 更新 DDS OOD
- UPDATE PDCP TIMER FOR DDS – 更新 DDS 的 PDCP 定时器
- 对每个订阅的数据进行优先级排序 – 注册以对每个订阅的数据订阅进行优先级排序
- 注册优先级队列报告 – 注册以在报告时间间隔接收队列更新
- 高性能游戏 – 启用高性能游戏引擎;第二次点击将禁用引擎
- DDS 优先级 – 启用 DDS 优先级;第二次点击将禁用优先级
4.3.2 链路容量估计 (LCE)
单击 LCE 后,将加载活动并显示 LCE 屏幕。
- 请参阅Qualcomm 增强型 SDK API 参考(80-PK177-134),了解有关如何设置基于阈值或基于时间段的报告标准、上次报告和更改报告操作(启动/停止/重置)的更多信息
- 点击 LCE INIT 按钮初始化 LCE 模块
- 填写申请数据
- 时期
- 迟滞
- 上行链路和下行链路阈值
- 网络类型
- 注册评估报告 – 注册应用程序以接收评估报告
- 开始定期报告 – 在编辑框中提供的每个周期触发回调
- 获取最后报告 – 触发回调并在日志中发布最后报告
- 启动阈值报告 – 每当满足上行链路或下行链路阈值时接收回调