入门:使用Go语言编写Android库(.aar文件)
使用golang编写适用于Android的库(aar)
由于官方网站(https://github.com/golang/go/wiki/Mobile)并不是很清楚,我会简单概括一下,使用golang可以制作Android库(aar)。
目前,gomobile仍处于实验阶段。请自行承担责任,并尝试使用。
做的环境很好
Ubuntu 16.04服务器,其他的我不了解。总的来说大同小异。
必需品
-
- Android SDK
-
- Android NDK
- golang 1.7以上
如果对于这些安装方法不了解的人即使继续看下去也不会明白。你应该还有其他必须了解的事情。
粗略的方法(主要部分)
環境變數大概就如此。
GOROOT=/path/to/goroot
GOPATH=~/go
PATH=$PATH:~/go/bin
ANDROID_HOME=~/android-sdk-linux
首先,安装gomobile。
go get golang.org/x/mobile/cmd/gomobile
我要进行gomobile的初始化。在我的环境中,我发现与官方网站有所不同的是需要通过-ndk来指定NDK的路径,否则无法正常进行。
gomobile init -ndk /path/to/android/ndk
只需随便用Golang编写一个库,然后进行构建。
- $GOPATH/src/github.com/foo/libhello/hello.go
package hello
func HelloWorld() string {
return "Hello World"
}
关键是要设置包名。不可以使用main包。
可以创建多个文件,但包名必须相同。
写完库之后,请进行构建。
gomobile bind -target android
hello.aar已生成,请随意在Android端适用它即可。
使用时应该是这种感觉。
import hello.hello;
class Foo {
void Bar() {
String text = hello.helloWorld();
}
}
你好。我相信不只我一个人希望它至少是libhello.hello。