type
status
date
slug
summary
tags
category
icon
password
源码地址
这两个都可以,如果不能科学上网,建议使用github上的镜像.
编译
bin/gn gen out/Static --args='is_official_build=false' bin/gn gen out/Shared --args='is_official_build=false is_component_build=true'
如果出现问题,就使用python脚本更新依赖:
python2 tools/git-sync-deps
然后就是:
ninja -C out/Shared
为Android编译
bin/gn gen out/arm --args='ndk="/tmp/ndk" target_cpu="arm"' bin/gn gen out/arm64 --args='ndk="/tmp/ndk" target_cpu="arm64"'
ndk的地址写自己电脑上的地址. 如果需要so库,还是需要加上
is_component_build=true
单独编译测试APP
- viewer: 包含各种demo,按D键可以切换后端实现
bin/gn gen out/Release --args='is_debug=false' ninja -C out/Release viewer
- HelloWorld: 绘制一些简单的形状
bin/gn gen out/Release --args='is_debug=false' ninja -C out/Release HelloWorld
- SkiaSDLExample: SDL + Skia
bin/gn gen out/Release --args='is_debug=false' ninja -C out/Release HelloWorld
- editor: 一个纯文本编辑器
bin/gn gen out/Release --args='is_debug=false' ninja -C out/Release editor
需要注意的地方
is_official_build
如果这个属性为true,则会在你电脑上的系统环境取寻找一些依赖库,比如libjpeg,libpng等,如果你设置成true,编译过程中发现一些库不存在或者函数错误等,建议直接把is_official_build设置成false.这样就用skia项目中的源码依赖了,就不会出问题了.
is_component_build
设置为true,则编译成多个小的动态链接库,比如各种so文件.如果需要使用skia,建议设置成true.
参考文档
- 作者:姜康
- 链接:https://jiangkang.tech/article/f55f4930-4e17-4acc-9fc2-2300fa9e95bc
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章