go及gomobile的环境配置这里就不介绍了,直接说aar的生成和使用。
1. 设置环境变量GOPATH
GOPATH的值可以有多个,用半角分号间隔,但不能以其结束,设置完成后需要重新做gomobile init
。
例如:GOPATH = D:\zxdev\go;D:\zxdev\go-mobile-workspace
2. 在GOPATH里创建src文件夹,用于存放go的包和源文件
3. 在src中创建hello文件夹(go文件的包名)
4. 在hello中创建hello.go文件,并输入内容
package hello
import "fmt"
func Greetings(name string) string {
return fmt.Sprintf("Hello, %s!", name)
}
5. 编译
执行命令:gomobile bind -target=android hello
会生成一个hello.aar文件
6. 导入到android工程
将hello.aar文件放入工程的libs中,并配置build.gradle
在根结点加入:
//配置本地aar库
repositories {
flatDir {
dirs 'libs'
}
}
在dependencies结点下加入依赖:
//hello(local aar)
compile(name:'hello', ext:'aar')
7. 在Java中测试
// Call Go function.
String greetings = hello.Hello.greetings("Android and Gopher");
Log.d("test", greetings);
运行后,结果会输出Hello, Android and Gopher