分享
使用 Go 语言开发 Android 程序
bookislife · · 11595 次点击 · · 开始浏览这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
环境配置
- 安装 Go 1.5 以上版本,具体安装步骤见官网 https://golang.org/doc/install
-
安装 gomobile https://godoc.org/golang.org/x/mobile/cmd/gomobile
执行以下命令,安装过程中可能需要翻墙go get -v golang.org/x/mobile/cmd/gomobile gomobile init -v
在安装过程中可能会发生以下问题
- 提示
unrecognized import path错误,通常翻墙后可解决 - 提示
import path does not begin with hostname错误,如果设置了GOROOT的话取消该设置 - 提示
$GOPATH not set错误,检查是否有设置GOPATH以及不要使用命令时添加sudo - 提示某个目录缺少权限,授权给当前用户
sudo chown -R <当前用户名> <提示的目录名>
编写代码
- 创建 Android 工程,编写原生代码。注意:Android 工程的
targetSdkVersion不能为 23。 - 在
GOPATH下创建对应的应用包名,编写 GO 代码。 -
在 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" } - 确保 Android 应用根目标的
settings.gradle引用了此模块。 - 编译 Go 代码,
./gradlew gobind,编译完成后会在步骤 3 创建的 Go 模块下生成包含 Native 文件的aar文件。 - 在 Android 工程中正常使用 Native 代码,后续操作都和普通应用程序一样。
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信11595 次点击
上一篇:如果你用Go,不要忘了vet
下一篇:动手实现一个JSON验证器
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
环境配置
- 安装 Go 1.5 以上版本,具体安装步骤见官网 https://golang.org/doc/install
-
安装 gomobile https://godoc.org/golang.org/x/mobile/cmd/gomobile
执行以下命令,安装过程中可能需要翻墙go get -v golang.org/x/mobile/cmd/gomobile gomobile init -v
在安装过程中可能会发生以下问题
- 提示
unrecognized import path错误,通常翻墙后可解决 - 提示
import path does not begin with hostname错误,如果设置了GOROOT的话取消该设置 - 提示
$GOPATH not set错误,检查是否有设置GOPATH以及不要使用命令时添加sudo - 提示某个目录缺少权限,授权给当前用户
sudo chown -R <当前用户名> <提示的目录名>
编写代码
- 创建 Android 工程,编写原生代码。注意:Android 工程的
targetSdkVersion不能为 23。 - 在
GOPATH下创建对应的应用包名,编写 GO 代码。 -
在 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" } - 确保 Android 应用根目标的
settings.gradle引用了此模块。 - 编译 Go 代码,
./gradlew gobind,编译完成后会在步骤 3 创建的 Go 模块下生成包含 Native 文件的aar文件。 - 在 Android 工程中正常使用 Native 代码,后续操作都和普通应用程序一样。