Go言語ではAndroidやiOSのアプリの開発用でmobileパッケージが用意されている。
Mobile · golang/go Wiki · GitHub
Androidアプリの開発することになったので、
本家のJavaではなくGo言語で開発してみることにする。
今回はサンプルコードをAndroid端末で動かすところまで。
ということで早速開発環境を載せる。
開発機
Lenovo Ideapad 720S プラチナ
CPU : AMD Ryzen 5 2500U APU ( 2.00GHz 2MB )
OS : Ubuntu 18.04
メモリ : 8.0GB PC4-17000 DDR4 (オンボード) 2133MHz
グラフィック : APU内蔵グラフィックス
Go言語:1.10.3 linux/amd64
Java:10.0.1
Android NDK:r16b
Android端末
ZTE Blade V580
Android:5.1
カーネル:3.10.65
情報も出揃ったので、早速開発環境を設ける。
はじめに下記のコマンドを実行してJavaをインストールする。
sudo apt-get install software-properties-common sudo apt-add-repository ppa:webupd8team/java sudo apt-get update sudo apt install oracle-java8-installer
続いて、Android NDKをインストールする。
下記のページから該当するOS向けのファイルをダウンロードする。
NDK のダウンロード | Android NDK | Android Developers
ダウンロードは800MB近くあるのでしばし待ち、
ダウンロード後に再び端末を開き、下記のコマンドでNDKを使用できるようにする。
sudo mv ~/Download/android-ndk-r16b-linux-x86_64.zip /usr/local cd /usr/local sudo unzip android-ndk-r16b-linux-x86_64.zip sudo rm android-ndk-r16b-linux-x86_64.zip sudo chown -R $USER:$USER /usr/local/android-ndk-r16b # パスを通す cd echo 'export PATH=$PATH:/usr/local/android-ndk-r16b' >> .zshrc echo 'export NDKROOT=/usr/local/android-ndk-r16b' >> .zshrc
※注意:端末はZ Shell(zsh)を利用しています。
続いて、Go言語とGo Mobileを使用できるようにする。
sudo add-apt-repository ppa:jonathonf/golang-1.10 sudo apt-get install golang-1.10 # Go言語がインストールされたか確認 go version #必要に応じてGo言語のパスの設定等があるがここでは省略 # Go Mobileを取得 go get golang.org/x/mobile/cmd/gomobile # Go Mobileの初期化 gomobile init -ndk /usr/local/android-ndk-r16b
これでGo言語とGo Mobileの初期化は修了
サンプルコードを取得して、Ubuntu上で実行できるか?確認
# Go Mobileを動かすために必要なもの sudo apt-get install libegl1-mesa-dev libgles2-mesa-dev libx11-dev # GOROOTをホームディレクトリ以下にしている go get -d golang.org/x/mobile/example/basic go get golang.org/x/sys/windows cd ~/go/src/golang.org/x/mobile/example/basic go run main.go
開発機でGo Mobileが実行出来たことが確認できた。
続いて、Android用にデプロイしてみる。
gomobile build golang.org/x/mobile/example/basic
上記コマンドを実行したディレクトリにbasic.apkが生成されるので、
このファイルを何らかの手段でAndroid端末に移し、
basic.apkをタップしたらアプリのインストールが開始され、
開発機と同様の画面が表示されるようになる。
※今回はDropboxを使ってAndroid端末にファイルを送ってみた
Android端末で実行を試す時、
設定 > セキュリティで提供元不明のアプリをONにしておく必要がある。