AWTK简介
AWTK(Toolkit Anywhere),是 ZLG 倾心打造的一套基于 C 语言开发的 GUI 框架。旨在为用户提供一个功能强大、高效可靠、简单易用、可轻松做出炫酷效果的 GUI 引擎,并支持跨平台同步开发,一次编程,终生使用。
详见 --> ZLG震撼发布开源GUI引擎AWTK
一次次的尝试
找到AWTK的开源仓库后,根据readme进行了一些尝试。
windows
最新的源码已经要求python3.0以上了,台式机里有一些python脚本是2.7的,所以放弃了这次尝试。
ubuntu
我的虚拟机上有一个ubuntu14.04 和一个 16.04。
先选择16.04。
一顿操作下来,好像并没有用。有个小窗口一闪而过。
git clone https://github.com/1021256354/zlgopen-awtk
sudo apt-get install scons libsndio-dev libgtk-3-dev libglu1-mesa libglu1-mesa-dev libgl1-mesa-glx libgl1-mesa-dev
cd awtk
scons
./bin/demoui
依赖的软件包安装也出现了一些问题,换源成阿里或者清华后也差不多。
也用过14.04:
linux
一顿操作下来,又要这个又要那个的。搭建个开发环境也不容易。
我最终还是选择直接上板好了。
1、获取源码
git clone https://github.com/zlgopen/awtk.git
git clone https://github.com/zlgopen/awtk-examples.git
git clone https://github.com/zlgopen/awtk-linux-fb.git
cd awtk-linux-fb
2、编辑 awtk_config.py设置交叉编译工具
TSLIB_LIB_DIR='/opt/28x/tslib/lib'
TSLIB_INC_DIR='/opt/28x/tslib/include'
TOOLS_PREFIX='/opt/28x/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-linux-'
基于我的目标板,并不是这个系列而是imx6的:
TSLIB_LIB_DIR=''
TSLIB_INC_DIR=''
TOOLS_PREFIX='xx/xx/xx/xx/xx/*arm-linux-'
3、编辑 awtk-port/main_loop_linux.c 修改输入设备的文件名
目标板是没有触摸和外接鼠标的,而fb设备是一致的:
#define FB_DEVICE_FILENAME "/dev/fb0"
#define TS_DEVICE_FILENAME "/dev/input/event0"
#define KB_DEVICE_FILENAME "/dev/input/event1"
#define MICE_DEVICE_FILENAME "/dev/input/mouse0"
4、编译:
scons会编译demoui的例子,生成指定demo可以用:
scons APP=../awtk-examples/HelloWorld-Demo
5、打包
./release.sh默认打包demoui,打包指定的demo:
sh ./release.sh ../awtk-examples/HelloWorld-Demo/res demo
6、运行
把 release.tar.gz 上传到开发板