网上太多教程写的很粗略,这里详尽的列述go语言在windows系统下如何编译安卓程序

在此之前需要几个前提条件

  • 安装了go语言的编译环境

  1. 拥有Go语言SDK

  1. 可选msi与zip格式,前者可以自动配置环境变量,后者解压后需手动配置环境变量到所解压的文件夹~下载地址

  1. 若下载压缩包格式,需解压后配置GOROOT和GOPATH的系统环境变量

  1. go语言编译在arm下_android


  2. go语言编译在arm下_android ndk_02


  3. go语言编译在arm下_go mobile_03


  4. go语言编译在arm下_android_04


  5. 分别在系统变量这建立GOROOT和GOPATH两个目录,分别对应sdk所在目录与项目文件根目录
  6. 最后编辑path变量,在结尾加上你的go sdk下bin目录的地址,注意与之前的目录用;号分割并以;号结尾

  7. win+r输入cmd敲go 验证成功配置sdk
  8. go语言编译在arm下_android ndk_05


  • 拥有git工具
  1. 下载地址
  2. 配置GIt可执行文件路径放到系统环境变量path中
  3. 重新打开cmd,确定git命令存在
  1. 如果用Shadowsocks,需要配置cmd代理服务器
set http_proxy=127.0.0.1

  1. 其他代理软件设置打开全局代理
  • 拥有gomobile
  1. cmd敲起命令
go get golang.org/x/mobile/cmd/gomobile
gomobile init

  1. OR
  1. 用百度云下载mobile,密码: mmbv
  2. 解压到任意文件下,需要将其所在路径配置到系统变量path中
  3. 将mobile 示例源码解压后的文件夹名字改为mobile放在你gopath的src/golang.org/x/(若没有此目录就新建)
  • 拥有AndroidNDK
  1. 选择符合的操作系统及位数的NDK包下载地址
  2. 解压,放到一个你记得住的目录
  • 开始配置GO→Android编译第一个APK
  1. 尝试编译第一个Android apk安装包cmd命令:
    gomobile build -target=android golang.org/x/mobile/example/basic
    上文绿色部分为你mobile里一个示例,exapmple文件夹有多个示例,basic仅仅是其中一个
  2. 如果提示 “No android NDK path is set“,需要以下代码指定NDK路径
gomobile init -ndk "你的AndroidNDK路径"

  1. 然后再编译,编译成功后会把编译后的APK安装包放到CMD当前指向的目录中,例如
  • 使用ADB直接给安卓手机安装APK
  1. 下载ADB,选择ADB Kits
  2. 解压任意目录后在系统环境变量path中添加其文件夹所在目录
  3. ADB的各种语法可以参考这里
  4. 首先链接安卓手机,在cmd中用
adb devices
adb devices
  1. 直接安装硬盘中存在的APK安装包
adb install 你的apk所在路径

结语
至此整个go语言编译并安装安卓软件的过程展示完毕,实例代码中有很多功能是用go语言调用OpenGL来实现的,关于更多的中文实现原理及细节可参考这里