Files
MXC_A59/lib/awtk/awtk-examples/Moto_A58/README.md

112 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# AWTK 应用程序
## 准备
获取 awtk 并编译,可以通过以下两种方法:
1. 安装 [AWStudio](https://awtk.zlg.cn/awstudio/download.html)
安装完 AWStudio 后,打开 AWTK Designer 后新建或打开一个项目在插件管理页面的已安装列表可以看到AWTK插件选择编译或重新编译即可。
2. 前往 GitHub 获取
打开 Git Bash执行如下命令
```
git clone https://github.com/zlgopen/awtk.git
cd awtk; scons; cd -
```
## 运行
1. 编译
```
scons
```
2. 生成项目的资源文件
```
python ./scripts/update_res.py all
```
3. 运行
```
./bin/demo
```
## FAQ
### 设置 APP 运行时是否显示控制台窗口
如果 Windows 平台不想在运行程序时弹出控制台窗口,请在当前项目目录下的 `src/main.c` 文件中添加宏定义,如下所示:
```c
#define APP_ENABLE_CONSOLE FALSE
```
> 该定义需要在`#include "awtk_main.inc"`前添加。
### 设置 APP 标题栏的标题
如果需要修改 APP 标题栏的标题(运行程序时窗口左上角显示的名称),请在当前项目目录下的 `src/main.c` 添加宏定义,例如:
```c
#define APP_NAME "HelloWorld"
```
> 该定义需要在`#include "awtk_main.inc"`前添加。
### 设置 APP 可执行文件的名称
如果需要修改生成的可执行文件名称,请修改`src/SConscript`文件里的内容,如下所示
```python
env.Program(os.path.join(BIN_DIR, 'HelloWorld'), sources, LIBS = env['LIBS'])
```
将上述代码中的"HelloWorld"修改成想要的名称再进行编译即可。
### 设置 APP 依赖的库
如果需要设置依赖的库,可以打开项目目录中的`Sconstruct`文件,修改 DEPENDS_LIBS。关于 DEPENDS_LIBS 的更多信息,请参阅 [如何添加第三方库](http://awtk.zlg.cn/docs/awtk_docs/HowTo/how_to_use_3rd_libs.html)。
### 设置 APP 的图标
如果需要修改应用程序的图标,有两种方法(只适用于 Windows 平台):
1. 用 VC 创建的 .res 文件代替 当前依赖的 awtk 的SDK 包中的 `awtk/win32_res`里的 awtk.res 文件;
2. 用 [ResEdit](http://rsdt.free.fr/ResEdit-x64.7z) 直接编辑上述文件。
**1. 生成兼容 [mingw](https://sourceforge.net/projects/mingw-w64) 的 res**
1. awtk.rc 转为 utf8或者 utf8 with BOM 的编码;
2. 注释 rc 文件中的 #include "targetver.h" 代码;
3. windres 工具重新导出 res 文件。windres 是 mingw 提供的 exe
```bash
windres awtk.rc -O coff awtk.res
```
**2. 生成兼容 mingw 的 x86 格式 res**
步骤与上一小节一致,但最后使用 windres 工具导出 res 文件时,需要加上 `--target=pe-i386` 参数,命令如下:
```bash
windres awtk.rc -O coff awtk_x86.res --target=pe-i386
```
### scripts目录的文件介绍
`scripts`目录下,存放着几个脚本,下面简单介绍一下几个脚本的作用。
| 文件 | 作用 |
| -------------------------------------------- | ------------------------------------------------------------ |
| [update_res.py](./scripts/update_res.py) | 用于打包资源,使用方法可以查看该目录下的 [README.md](./scripts/README.md) 文档。 |
| [awtk_locator.py](./scripts/awtk_locator.py) | 帮助搜索依赖的 AWTK更多信息请参阅 [如何查找AWTK SDK](http://awtk.zlg.cn/docs/awtk_docs/FAQ/2.AWTK%20Designer.html#编译项目时-是如何搜索awtk-sdk的-搜索的顺序是什么样的)。 |
| [app_helper.py](./scripts/app_helper.py) | 帮助加载 AWTK 应用的公共编译参数,完成编译设置,以及编译 APP 依赖的库。 |
| [release.py](./scripts/release.py) | 用于生成发布包,执行程序后会在项目目录生成 release 文件夹。 |