java bind object-c by using bro-gen

2016-11-23 09:46:43来源:oschina作者:feyshine人点击

第七城市

前言:系统环境: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-robopods4 打开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命令:
程序输出
然后进入你的输出文件夹中,可以看到如下文件:
第七城市

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台