java bind object-c by using bro-gen

本文详细介绍如何使用RoboVM及其工具链实现从环境搭建到生成C/Objective-C bindings的过程。主要内容包括在GitHub上下载RoboVM及相关工具,配置开发环境,并通过具体案例演示如何利用robovm-bro-gen生成绑定文件。

前言:系统环境:
Github上下载即可,无需翻墙,下载卡顿,可能是网速原因。

1 首先在Github上下载robovm地址:https://github.com/robovm/robovm

2 同样在Github上下载一个基于robovm来生成 C/Objective-C bindings的工具robovm-bro-gen 地址:https://github.com/robovm/robovm-bro-genGithub上给出了详细的安装过程,如下图所示,注意到如果没有libclang3.3+可能是因为没有安装Xcode环境。如果没有Ruby ffi注意图中的命令进行安装
这里写图片描述
3 最后下载一个测试案例:地址:https://github.com/robovm/robovm-robopods
4 打开Finder,通过前三个下载我们目前有以下几个文件夹:

  • 第一个对应的下载文件对应的文件名为:robovm
  • 第二个下载的文件对应的文件名为robovm-bro-gen
  • 第三个下载文件对应的文件名为robovm-robpods

后续的操作都将会在这三个文件夹下进行。
5 robovm-master和robovm-bro-gen以及robovm-robpods三者关系如下:
这里写图片描述
6 通过关系图,明确的可知我们主要是使用robovm-bro-gen来生成对应的文件。

  • 打开终端,cd robovm-bro-gen 进入bro-gen目录,然后输入ls,我们可以看到bro-gen.rb的文件。
  • 在Github 上介绍了robovm-bro-gen的用法如下
    这里写图片描述
  • 红色下划线的内容就是bro-gen下的bro-gen.rb的可执行文件(可以更新你的source加入其路径,以便后续可以不用输入该文件的全局路径,这里我没有更新我的source)
  • Path/to/put/generated/sources表示的是你要往哪个文件中输出程序最后生成的结果。
  • Config.yaml, [config2.yaml …]则是一次执行的参数文件,可一个文件参数,也可多个文件参数。
  • 注意:本次我们的yaml参数文件都来自robovm-robpods这个测试工程中。
  • 获取yaml文件:我们进入到roborm-robpods工程路径下,然后ls看到以下文件。
    这些都是robpods自带的测试用例,我们随便选一个,比如google-apis(用bolts也是类似),然后终端进入到该文件夹下。然后ls
    可以看到
  • 有一个叫google-apis.yaml的文件,这是我们的测试文件参数
  • 在我们用robovm-bro-gen路径下的bro-gen.rb来执行。命令如下:
  • (注意到请使用管理员权限)然后程序抛出错误,错误如下:
  • 大概的意思就是文件找不到,我们打开测试用的google-apis.yaml文件,文件头部内容如下:
  • 根据错误提示,显然我们robovm-master的路径找不到,而且这里一堆的相对路径,我们进入原来下载的robovm-master文件夹下去找foundation.yaml和uikit.yaml文件,操作流程如下:
  • 首先进图robovm-master目录下
  • 然后按照下图所示的命令进入其目录文件下
  • 进入上图所说的路径,然后ls如下图所示
  • 能找到这两个文件,我们pwd一下,获得以下绝对路径
  • 然后修改原来的google-apis.yaml文件如下图所示:
  • 再次执行bro-gen.rb命令:
  • 程序输出
  • 然后进入你的输出文件夹中,可以看到如下文件:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值