UI环境搭建

version 1.0


1. SSD_PLAYER工程指南


1.1. SSD_PLAYER工程获取说明

SSD_PLAYER工程是针对公版的Demo应用,可以直接打包到项目工程运行参考1.3. 集成说明,供初次开发的用户参考使用。

github存放地址:https://github.com/aaron201912/UuidSSDPlayer/


1.2. SSD_PLAYER工程目录说明

stdc++: 与公版最新SDK相匹配且即时更新的zkgui相关配套源码及demo 示例(非特殊说明,不适用于用户端),如有需要请咨询我司FAE。

mp_stdc++ : release给用户使用的zkgui的demo源码以及公版的demo app示例 (可与用户SDK相匹配,推荐用户版本使用)

myplayer:公版的视频播放器的相关源码,与zkgui进程做快进程通讯配合适用

tool:获取跟公版panel分辨率相关的cfg文件,后续如有工具更新以实际说明为准


1.3. SSD_PLAYER工程集成说明

1.3.1. 目录架构说明

以mp_stdc++目录举例说明

zkgui:

linux下编译,可生成zkgui的bin档源码,生成的bin最终需要更新替换到Sdk_RuntimeDemo中

Source_Code:

通过flything IDE编译的UI逻辑及资源工程,编译生成的lib跟ui资源需要更新到项目Sdk_RuntimeDemo当中

Sdk_RuntimeDemo:

已经完成的Demo示例,可以直接打包到项目工程直接使用的Demo

zk_full_security && zk_full_security_fastboot 共用zk_full_mp工程资源

zk_mini_security && zk_mini_security_fastboot 共用zk_mini_mp工程资源

1.3.2. Sdk_RuntimeDemo的打包

A. 将下载的Sdk_RuntimeDemo解压到项目工程中:sdk\verify\application\

B. 打开project/release/customer_tailor/nvr_i2m_display_glibc_tailor.mk(请改动实际使用的*_tailor.mk),选择需要的应用,编译project工程即会自动打包对应的demo到customer分区,开机demo.sh会自动运行zkgui


2. FLYTHINGS IDE环境搭建


2.1. 安装flythings工具

Flytings是编译zkgui的一套IDE工具,这里将通过介绍导入公版Demo的Source_code编译,并更新lib/res 资源到工程中来介绍工具的使用方法(详情请参照Flyting官网说明)。

2.1.1. IDE工具获取地址

下载地址:https://developer.flythings.cn/zh-hans/download.html

如下图,请务必下载SSD平台的IDE工具,IDE详细安装以及空间使用说明请参照网站说明,如遇突发情况请及时咨询。


2.2. 导入SSD_PLAYER工程

以UuidSSDPlayer\mp_stdc++\zk_full_mp工程为例。

打开flythings,选择flythings文件-导入功能,导入zk_full_mp工程:

导入后,可以在flythings左边的工程栏看到对应的工程:


2.3. 设置编译SSD_PLAYER生成资源&lib导出文件路径

设置编译生成的资源和lib导出文件路径,目前路径只能存在对应盘符的根目录。

Path设置小技巧:可将指定的输出路径映射到根目录下。(例如,输出路径为D:\debug_output,可在windows开始运行中执行subst b: D:\debug_output 将D:\debug_output映射到Z盘,输出时选择Z盘即)


2.4. 编译SSD_PLAYER工程

选择左边zk_full_sercurity_mp工程,点击右键,选择清空项目,然后点击如下按钮编译工程:

编译完成后会在第二步设定的目录下生成lib和res文件:

将lib和ui文件替换覆盖到sdk工程中的sdk\verify\application\zk_full_security \libsdk\verify\application\ zk_full_security\res\ui目录即完成了UI部分更新。


3. FLYTHINGS UI调整触摸屏触控分辨率


3.1. FB分辨率配置

触摸屏的触控分辨率需要保持跟framebuf的分辨率一致,framebuf的分辨率参考板子/config/fbdev.ini:


3.2. panel分辨率的配置

目前公版flythings UI主要适配1024x600和800x480两种分辨率的panel,默认的配置是1024x600的分辨率,修改为800x480的分辨率的配置方法如下(1024x600.bin & 800x480.bin可在UuidSSDPlayer/tool/ 中获取到):

1024x600:

echo 1024x600.bin > /sys/bus/i2c/devices/1-005d/gtcfg

800x480:

echo 800x480.bin > /sys/bus/i2c/devices/1-005d/gtcfg

3.3. 屏参修改成800x480

UuidSSDPlayer\ mp_stdc++\app\sstardisp.c的UI_1024_600置为0:

进入到UuidSSDPlayer\ mp_stdc++\app目录,重新编译zkgui,编译前需要将app下面的makefile project路径改成你实际的project路径:

然后直接make clean;make即可:

编译完将UuidSSDPlayer\ mp_stdc++\app\bin\zkgui替换到sdk\verify\application\zk_xx\bin下面,然后重新打包app即可。


4. FLYTHINGS UI调整切换AMIC & DMIC


4.1. 配置AMIC和DMIC

Demo示例默认使用AMIC,如需配置成DMIC,修改文件UuidSSDPlayer/ mp_stdc++/zk_full_mp/jni/appconfig.h

将 USE_AMIC 设置为0即可。


5. FLYTHINGS UI授权

Flythings UI分为评估版本和授权版本。

本文当中Demo使用的均为评估版本,对UI依赖的libeasyui.so未做加密,编译生成的app可正常运行,但UI界面上会叠加“Powered by Flythings”的水印字样,仅供开发debug使用。

授权版本为正式生产时使用的版本,对UI依赖的libeasyui.so有做加密,需要根据设备的uuid烧写对应的加密文件后设备才能正常显示,UI授权相关事项请直接咨询中科世为

评估版本和授权版本只是libeasyui.so有差异,切换版本时只需更新对应版本的libeasyui.so即可。公板使用的版本为评估版本。