美文网首页
skia编译ios版本

skia编译ios版本

作者: helius | 来源:发表于2021-04-27 11:51 被阅读0次

    先看一遍官方文档: skia.org/docs/user/build

    1.下载skia代码

    2.执行python tools/git-sync-deps,这一步会根据BUILD.gn里面的工程下载三方依赖库,要下载好一会。请弄好自己的网络环境,配好git代理

    3.开始编译
    官网给的是ninja -C out/Static 但是我试下来会还会编译macos和32位的,其实并不需要,而且mac上很多动态库很难找到。

    要把Static换成ios64,这步很关键。
    bin/gn gen out/ios64 --args='target_os="ios"'
    ninja -C out/ios64

    这步骤编译会有很多.h找不到,我是一个个从external里面复制一份放到编译出错的目录下了,本来想通过配置extra_cflags配置头文件搜索路径但是不生效不知道什么情况,不过花了点时间都还是能找到的。

    然后链接的时候会报找不到符号或者链接的库。用brew安装缺失的库,还有的装下xcode command line tools也会有。这样就能搞全了

    4.编译完成后,我参考的这个工程,替换掉out/ios64里我们新编译出来的libskia.a和libpathkit.a,还有把include里的头文件都替换就行了。
    https://github.com/yehot/skia-ios-demo/

    编译官方demo

    bin/gn gen --ide=xcode out/ios64 --args='target_os="ios" skia_ios_identity="6A031F4F8WEE1983F287D2F40CCEFC097125334AE" skia_ios_profile="xxx.mobileprovision" is_debug=true skia_enable_gpu=true'

    生成的需要指定identity和profile文件,
    identity通过执行security find-identity找到对应能用的开发者的编号,
    profile通过developer官网,下载对应的mobileprovision文件。
    如果编译过程还是报Signing identity ... not found,修改skia/gn/codesign_ios.py,直接给identity赋值

    相关文章

      网友评论

          本文标题:skia编译ios版本

          本文链接:https://www.haomeiwen.com/subject/zeuurltx.html