去年12月中旬,go已经正式支持android平台!虽然,目前只是初步支持,相应的开发还在紧罗密鼓的进行中。但是仍然挡不住试用一把的冲动。目前go的代码是通过java的jni接口来调用的,go的代码会被编译成so动态库,会在编译的时候包含到apk中。下面来看看怎么在android平台来编译go的代码 。
先从下载的连接下载代码:
https://github.com/golang/mobile
由于go for android的开发环境搭建目前比较麻烦,go for android的开发者已经为我们提供了一个docker的image(docker的安装可以参考《docker 使用总结》),可以用下面的命令下载:
docker pull golang/mobile
运行mobile的容器:
docker run -it --rm -v /home/my/go/mobile-master:/go_mobile golang/mobile /bin/bash
这里假设下载下来的go for android的代码的路径为:/home/my/go/mobile-master,这条命令会把/home/my/go/mobile-master影射到容器的/go_mobile目录。
接下来在$GOROOT/src/golang.org/x/创建/go_mobile的符号连接mobile
mkdir -p $GOROOT/src/golang.org/x ln -s /go_mobile $GOROOT/src/golang.org/x/mobile
编译libhello示例代码:
cd $GOROOT/src/golang.org/x/mobile/example/libhello ./make.bash
连接到设备:
adb connect xx.xx.xx.xx
安装:
adb install bin/Hello-debug.apk
接下来就是运行了。
总结:目前go for android只做到了go代码在android平台的简单运行,要想真正的用go在android平台上进行像游戏开发等等,还有很多工作要做。
有疑问加站长微信联系(非本文作者)