Android アプリを作って Google Play に出していますが、Android Studio は使っていません。GitHub にコードを上げると、クラウド(GitHub Actions)がビルドしてくれて、バージョンの番号を上げたときだけ Google Play の製品版まで自動で出ます。
この記事では、自作アプリ「天気壁紙」で使っている、このしくみをまとめます。重いソフトを入れずに Android アプリを出したい人の参考になればうれしいです。
全体の流れ

GitHub の決まったブランチ(main)にコードが入ると、2つの仕事が動きます。
- いつも:試し用のアプリ(APK)を作って、スマホのブラウザーから直接落とせる場所に置く
- 番号を上げたときだけ:ストアに出す形(AAB)を作って署名し、Google Play の製品版に出す
クラウドでビルドする
ビルドは GitHub Actions の Linux の環境で動きます。JDK 17 と Android SDK を入れて、Gradle で bundleRelease(ストア用の AAB を作る作業)を動かすだけです。手元の PC には、Android Studio も Android SDK も入っていません。
ストアに出すアプリには署名が必要です。署名に使う鍵は、GitHub の「Secrets」(パスワードなどを隠して置ける場所)に入れておき、ビルドのときだけ取り出して使います。コードの中には鍵を置きません。
「番号を上げたときだけ」出すしくみ
Android アプリには versionCode という番号があり、Google Play は前と同じ番号のアプリを受け付けません。そこで、コードが入るたびに、今の versionCode と、ひとつ前の状態の versionCode を比べています。
- 番号が大きくなっていたら → AAB を作って Google Play に出す
- 番号が同じなら → ストアには何も出さない(試し用の APK だけ作る)
比べるのは GitHub の履歴だけで、Google Play には問い合わせていません。小さな直しを何回か入れて、出したいときに番号を1つ上げる、という使い方ができます。
Google Play に出す
Google Play へのアップロードには、GitHub Actions で使える公開済みの部品(upload-google-play)を使っています。Google Play の「サービスアカウント」の鍵も Secrets に入れておき、製品版(production)に直接出します。
アップデートのお知らせ(「このバージョンの新機能」)も、日本語と英語のテキストファイルを置いておくと、一緒に登録されます。
やってみて良かったこと・気をつけること
- PC が重くならない。Android Studio を入れなくても、ブラウザーとエディターだけで回る
- どこからでも出せる。コードが GitHub に入れば、あとは自動
- 製品版に直接出るので、番号を上げる前の確認が大事。試し用の APK をスマホに入れて動かしてから、番号を上げる
- 鍵(署名・サービスアカウント)は Secrets だけに置く。コードやチャットに貼らない
まとめ
- Android Studio なしでも、GitHub Actions でビルドから Google Play 公開までできる
versionCodeが上がったときだけ製品版に出すので、出すタイミングを番号で決められる- 製品版に直接出るぶん、番号を上げる前に試し用の APK で確かめる
「天気壁紙」は、Google Play で「天気壁紙」と検索すると見つかります。作った話は天気の壁紙アプリを作った話に、ほかに作ったアプリは 作ったもの にまとめています。
ナノトイラボ 
