分享
  1. 首页
  2. 文章

使用 Go 语言开发 Android 程序

bookislife · · 11595 次点击 · · 开始浏览
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

环境配置

  1. 安装 Go 1.5 以上版本,具体安装步骤见官网 https://golang.org/doc/install
  2. 安装 gomobile https://godoc.org/golang.org/x/mobile/cmd/gomobile
    执行以下命令,安装过程中可能需要翻墙

    go get -v golang.org/x/mobile/cmd/gomobile
    gomobile init -v

在安装过程中可能会发生以下问题

  1. 提示 unrecognized import path 错误,通常翻墙后可解决
  2. 提示 import path does not begin with hostname 错误,如果设置了 GOROOT 的话取消该设置
  3. 提示 $GOPATH not set 错误,检查是否有设置 GOPATH 以及不要使用命令时添加 sudo
  4. 提示某个目录缺少权限,授权给当前用户 sudo chown -R <当前用户名> <提示的目录名>

编写代码

  1. 创建 Android 工程,编写原生代码。注意:Android 工程的 targetSdkVersion 不能为 23。
  2. GOPATH 下创建对应的应用包名,编写 GO 代码。
  3. 在 Android 工程下创建新的 Gradle 模块,修改该模块的 build.gradle 文件。

    plugins {
     id "org.golang.mobile.bind" version "0.2.4"
    }
    gobind {
     // Go 应用的包名
     pkg = "com.bookislife/goandroid"
     // GOPATH 路径,可通过执行 `go env` 来查看
     GOPATH = "/Users/sidney/GOPATH"
     // Go 的二进制文件
     GO = "/usr/local/Cellar/go/1.5.3/bin/go"
     // GoMobile 的二进制文件,默认为 `GOPATH/bin/gomobile`,如果安装在其它目录才需要手动指定
     // GOMOBILE = "/Users/sidney/GOPATH/bin/gomobile"
    }
  4. 确保 Android 应用根目标的 settings.gradle 引用了此模块。
  5. 编译 Go 代码,./gradlew gobind,编译完成后会在步骤 3 创建的 Go 模块下生成包含 Native 文件的 aar 文件。
  6. 在 Android 工程中正常使用 Native 代码,后续操作都和普通应用程序一样。

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:bookislife

查看原文:使用 Go 语言开发 Android 程序

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

关注微信
11595 次点击
1 回复 | 直到 1999年12月31日 16:00:00
暂无回复
添加一条新回复 (您需要 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)

给该专栏投稿 写篇新文章

每篇文章有总共有 5 次投稿机会

收入到我管理的专栏 新建专栏