1、安装Go
a. 下载地址为:https://golang.org/dl/
b. 这里下载到的版本为go1.5.2.windows-amd64.zip
c. 然后将压缩包里面的go文件夹解压到D盘根目录
d. 配置环境变量GOROOT和GOPATH
e. GOROOT值为D:/go
f. 新建文件夹D:/GOPATH
g. 设置环境变量GOPATH值为D:/GOPATH
h. 在PATH环境变量中增加 ;%GOROOT%/bin;%GOPATH%/bin
2、安装go mobile
依次运行下列命令
go get golang.org/x/mobile/cmd/gomobile
gomobile init
我这里网络有点问题,gomobile下载失败,需要翻墙
可以开shadowsocks翻墙,运行下面这句命令,然后再运行上面两句就成功了
set http_proxy=http://127.0.0.1:1080
3、设置环境变量ANDROID_HOME
设置环境变量ANDROID_HOME,值为android sdk的路径,我这里把android sdk放在了D:\android-sdk-windows,把ANDROID_HOME值设置为D:\android-sdk-windows就好了
4、编写go程序
我随便写了段
package goTest
func Add(x int, y int) int {
return x + y
}
Go语言里要注意下,函数必须首字母大写的才能导出,否则无法导出
5、编译Go
命令行里,先cd到你.go文件所在目录,然后执行命令
gomobile bind -target=android
运行完后会生成一个.aar文件
6、打开android studio,新建项目,建好后在左边项目面板中选中你的项目右键new,选择Module,选择导入jar/aar,选中第5步里创建的aar文件。
7、在Project Structure中将导入的Module添加到创建的项目Dependencies中。
8、编写Java代码
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView textView = (TextView) findViewById(R.id.tv);
int result = (int) go.goTest.GoTest.Add(5,6);
textView.setText(String.valueOf(result));
}
}
写完后,编译,run,会输出结果11。
奇怪了,为嘛我老是提示没有找到ndk呢?android_home已经设置到环境变量中。
@天使漫步
奇怪,我记得我当时好像压根就没装ndk啊
编译成aar的时候卡住了,一直说我的路径不正确。
@天使漫步
命令行里,先cd到你.go文件所在目录,然后执行命令
NDK要单独设置,不是设置成SDK目录
gomobile init -ndk