一 安装依赖软件:
git:版本管理
go: go开发环境(版本>=1.5),可直接下载window版的go安装包。
android studio: android开发IDE
go开发工具:VSCode或者IDEA(Golang版)
二 golang环境配置
GO安装比较简单,参考:http://c.biancheng.net/view/3992.html
值得注意:
环境变量GOPATH 和GOROOT
GOPATH是工作区
GOROOT是go安装位置
检查是否添加如下几个环境变量:
export GOROOT=C:/DevSoft/Go
export GOPATH=D:/Workspace/Go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
export GOPROXY=https://goproxy.cn,direct
export GO111MODULE=auto
三 go工具mobile安装
ps:使用bash终端
- $GOPATH go程序工作目录,参考go环境搭建相关知识
mkdir -p $GOPATH/src/github.com/golang; cd $GOPATH/src/github.com/golang
- 下载mobile工具代码 参考git的使用
git clone https://github.com/golang/mobile.git
- 将源码移至golang.org/x目录下, 由于被墙,代码移至github上
mkdir -p $GOPATH/src/golang.org/x; cp -r $GOPATH/src/github.com/golang/mobile $GOPATH/src/golang.org/x
- 生成gomobile.exe可执行程序, 直接在github.com目录下编译会报错
cd $GOPATH/src/golang.org/x/mobile/cmd/gomobile; go build
- 可gomobile.exe加到环境变量目录,方便使用
四 使用gomobile生成android apk以源码自带例子作说明)
1 cd $GOPATH/src/golang.org/x/mobile/example/basic; gomobile build // 使用gomobile build直接编译会生成basic.apk, 直接执行gomobile可看其相关使用说明
2 将生成的apk直接下载模拟器或手机运行即可
五 使用gomobile生成android sdk(以源码自带例子作说明)
1 cd $GOPATH/src/golang.org/x/mobile/example/bind; gomobile bind -target=android ./hello // 生成hello.aar二进制发行包
2 使用android studio创建一个测试项目,将hello.aar拷贝到项目模块的libs目录下 // 参考android studio引用jar
3 配置模块的gradle.build文件,在gradle.build中添加如下代码(红色代码):
repositories { // 配置gradle依赖库(flat依赖方式) 参考gradle依赖库的相关使用
flatDir {
dirs 'libs'
}
}
dependencies { // 该节点文件一般都会存在, 故仅最后一行为新增代码
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.0'
compile(name:'hello', ext:'aar')
}
4 重新编译整个项目,生成build/intermediates/exploded-aar/hello目录,在此目录可找go文件对应生成的java文件
5 在项目中直接使用build/exploded-aar/hello目录中相关接口即可实现调用go的sdk相关功能
ps:go作为android sdk使用是有限制的,具体参考gobind相关知识,如:https://godoc.org/golang.org/x/mobile/cmd/gobind
直接使用go开发android程序也不是很完善。 另外liunx下搭建基本类似
gradle使用:http://blog.jobbole.com/71999/
gomobile使用:https://github.com/golang/go/wiki/Mobile
gomobile源码地址:https://github.com/golang/mobile