はじめに
Go言語でGUIを作ることができるfyneなのですが、モバイルアプリを作ることができるというので、実際にfyneでAndroidアプリが作ることができるか試してみました。
前提条件
OS Ubuntu22.04
Go go1.19 linux/amd64
Go言語とfyneのインストールはしてある前提で話を進めます。
Go言語のインストールとfyneのインストールは、Fyne Develop Getting Started、または、@hibikingさんのこちらの記事GO言語のGUIライブラリ「Fyne」のインストール方法を参考にしてください
参考にした記事(Youtubeの動画)
実際にAPKファイルを作る方法は、こちらGolang Fyne: How to compile *apk for Android | Golang Fyne tutorialで解説されていたので、これをもとに説明します。
準備
アンドロイド関連のインストール
1 アップデートする
sudo apt update
2 openJDKのインストール
sudo apt install openjdk-17-jdk
3 android-sdkのインストール
sudo apt install android-sdk
4 android−NDKのダウンロード
GitHubのAndroid/ndkのUnsupported Downloadsからzipファイルをダウンロードする。
5 ndkファイルの展開と環境変数の追加
ダウンロードしたzipファイルをホームディレクトリに展開する。
.bashrcに次の環境変数の追加
export ANDROID_NDK_HOME=(展開したディレクトリ名)
fyneコマンドのインストール
1 fyneコマンドのインストール
go install fyne.io/fyne/v2/cmd/fyne@latest
2 ~/go/binへパスを通す
コンパイル
1 作業するディレクトリを作る
2 ソースコードを準備する
https://developer.fyne.io/started/hello からサンプルのコードをコピーして、先程作ったディレクトリ内にmain.go の名前で保存する。
3 次のコマンドを実行
※作成されるapkファイルはinitで指定した名前(.は_に変換)になります。
go mod init com.hoge.fuga
go mod tidy
4 アイコンファイルを準備する。
inkscapeなどで48px✕48pxのアイコンを作り「Icon.png」の名前で先程のディレクトリ内に保存する。
5 コンパイル
次のコマンドを実行する。
※appIDは作成されるapkファイルの名前には影響しません。
fyne package -os android -appID com.hoge.fuga
最後に
以上でfyneでandroidアプリを作ることができます。実際に動くか確認するためには、エミュレーターなどを利用して確認してみてください。
※ 私はANBOXを使って確認しました。
ここまで読んでいただいて誠に感謝しております。私も試行錯誤をして2〜3日かかって確認したので間違っていることがあるかもれませんが、実際にGo+Fyneでanndroidアプリを作ることができました。もしよかったら参考にしていただけると幸いです。
ではでは