访问排行榜
谷歌广告
谷歌广告
使用GoLang编写Android与IOS底层库
Author zero | Posted 2019-01-08 20:39:00

使用GoLang编写Android与IOS底层库

首先,本猿申明我并不崇拜并不盲信google,我只信我自己,喜欢用Go只是因为它真的好用,对于移动端,用Go的语言写出的程序性能和C一样,因为最终会被编译成.so文件。除此之外,对于移动端,用go编写的程序调用起来比jni好太多太多了,我不需要去关心什么NDK,什么CMake,不需要去写一大堆的脚本文件,一个命令直接编译成AAR文件或者framework文件,然后就和调用java方法一样直接使用。

so,现阶段来说,Go编写的底层对移动端来说是最友好最实用最方便的。使用了Go你就能使用Go的庞大类库,本猿甚至使用Go版本的Shadowsocks、kcptun、tun2sockets+android原生的VpnService实现了VPN服务。

废话不多说,先来看看最终怎么使用Go编译成Android与IOS的库。 Android:gomobile bind -target=android Test(项目文件夹) IOS: gomobile bind -target=ios Test(项目文件夹)

就如此简单,Android会生成aar文件,ios生成framwork文件,直接导入即可,需要注意的是Go程序需要再项目根目录下创建go文件,方法名需要大小才能供移动端调用,调用方法很简单包名首字母大小为开放的类名,然后直接调用开放的方法(注意,Go中方法名首字母需要大小,但是移动端调用时却是小写的),方法传参与返回值也需要注意,仅支持基础类型,个人建议仅使用int,string,bool。

说完怎么使用,下面再来看看gomobile的编译环境如何搭建,请先自行百度安装Go环境,配置好环境变量,然后使用go get golang.org/x/mobile/cmd/gomobile,如果下载被墙,请参考本猿文章:http://blog.xinghai.party/articles/1/1/1/Go%20get.html 执行完成后会在gopath路径下的bin文件夹中看到gomobile执行程序,先将bin文件夹加入到系统PATH环境变量中,然后执行gomobile init -ndk [ndk路径],建议NDK下载官方14版本即可,然后等待大于一分钟,gomobile编译程序就OK了。

Android+GoLang+SprintBoot探讨群:186305789(疯狂的程序员),绝影大神在等你

个人兴趣网站:zero接码平台

个人兴趣网站:猿指


Comments

comments powered by zero