Go语言备忘——在Ubuntu18.04下使用Go语言开发Android应用程序之基础环境设置


操作系统:Ubuntu 18.04


请先确认已经安装好Go语言,并做好相关配置(可参阅我的另一篇日记)。

1. 下载Android NDK

下载地址:https://developer.android.google.cn/ndk/downloads/index.html
当前(2020年6月2日),最新稳定版是r21。按照我使用的平台,下载Linux 64 位 (x86)压缩包,文件有995M,需要一点时间。
如果这个网站下不了的话,可以到我的百度网盘上免费下载:https://pan.baidu.com/s/1ui1uyPzW60zPRKvgyv2R1Q,提取码:apk3。
下载解压后,把其中的文件夹android-ndk-r21放在你觉得合适的位置。我的电脑上是放在~/tree/lakeside/目录下。

2. 配置Android NDK

编辑~/.profile文件,添加以下内容:

# android ndk
export PATH=$PATH:~/tree/lakeside/android-ndk-r21
export NDK_HOME=~/tree/lakeside/android-ndk-r21
export ANDROID_NDK_HOME=~/tree/lakeside/android-ndk-r21

保存,使用source命令使其生效。上面的路径请按照上一步操作的实际路径来编写。

3. 下载安装gomobile

网络上一些文章介绍的方法是使用命令go get golang.org/x/mobile/cmd/gomobile来下载安装,但是我这里无效,所以还得自己手动操作。

3.1 在GOPATH路径下创建以下结构的目录:
── src
        └── golang.org
                     └── x
3.2 通过终端进入最后的x目录下,执行以下命令:
git clone https://github.com/golang/mobile.git
git clone https://github.com/golang/tools.git
git clone https://github.com/golang/xerrors.git
git clone https://github.com/golang/mod.git

因为安装gomobile时要使用tools、mod与xerrors的内容,所以需要下载他们。

3.3 安装gomobile

执行命令:

go install golang.org/x/mobile/cmd/gomobile
3.4 初始化gomobile

使用命令:

gomobile init

4. 测试

下面使用gomobile自带的例子测试

gomobile build -target=android golang.org/x/mobile/example/flappy

编译要花一点时间,稍等一会儿。编译完成后会在当前执行此命令的目录下生成flappy.apk文件。现在可以拿这个文件在安卓手机上安装测试了。这是一个很小的游戏,下面是在我的手机上运行的截图。
Go语言备忘——在Ubuntu18.04下使用Go语言开发Android应用程序之基础环境设置_第1张图片
对于自己编写的项目,只需要把gomobile build -target=android 后面的内容替换掉就行了。例如有下面一个项目:

 .
└── hello
             ├── go.mod
             └── main.go

其中main.go的代码为:

package main

import (
	"fmt"
)

func main() {
	fmt.Println("Hello, it's me.")
}

go.mod的内容为:

module hello

go 1.14

使用gomobile生成apk的命令为:

gomobile build -target=android hello

注意,是项目名称hello,不是main.go文件名。编译后会有提示:

gomobile: hello does not import "golang.org/x/mobile/app"

但是会生成hello.apk,在手机上执行会显示“Hello, it’s me.”,只是一闪而过。

我刚接触这方面的内容,使用Go编写Android应用程序并非完全像单纯的Go编程,还需要学习很多知识。


这里补充一点,想在Ubuntu 18.04下使用Android Studio工具的朋友,可以使用以下命令安装:

sudo snap install android-studio

你可能感兴趣的:(Go语言)