💡
この章で話すこと
- Androidを動かす上での技術スタック
- ソースコードがアプリになるまでの過程
Androidアプリの概要
技術スタック
Androidアプリは主にKotlin(またはJava)で記述します。Googleは2019年からKotlinを公式の推奨言語(Kotlin-first)としており、現在の新規開発ではKotlinが主流です。これら言語環境の上に成り立っています。
大抵のプラットフォームは言語とプラットフォームのAPIを覚えれば後は便利ライブラリを探すだけなのですが、Androidは歴史的な事情から、覚える必要のあるライブラリが非常に多くなっています。
特にAOSP(Android Open Source Project)公式が出している補助ライブラリ群「AndroidX」がかなり大きいのが特徴です。実際の開発ではAPIの一部と化している実態もあるため、これらも合わせて覚えていく必要があります。
ソースコードがアプリになるまで
- 開発
- Android開発はAndroidStudioで行うことが一般的ですが、Android開発に使うツール群はAndroidStudioがなくても単独で実行することができます。AndroidStudioはエディタ機能と、それらツール群との連携を自動でしてくれます
- ビルド
- Gradleというビルドツールがビルド設定に応じた処理で、ライブラリの依存関係を解決したり、ソースコードや画像などのリソースの不要コードを削除したり、ソースコードのコンパイルをした上で、AAB / APK ファイルに圧縮します
- AAB / APKとは?
- APK:端末側がアプリを動かすために読み込むファイル
- Androidアプリは最終的にAPK(android Application PacKage)というファイルにまとめられる
- 実体としてはzipファイルなので、拡張子を.zipにすれば解凍可能
- Split APK:分割されたAPKを読み込める機能
- 有料プランを有効化した人のみに有料部分のAPKを配信し、機能を有効化
- 言語や画面サイズごとのデータを別々のAPKに分割し、必要なもののみを配信
💡1つのAPKファイルだけでは対応できない。 - AAB:Split APKに対応するため、APKにする前のデータをまとめておくファイル
- GooglePlayStore側でAABからAPKへのパッケージングを行う
- 端末側からAABを直接読み込むことはできない
- 2021年8月以降、Google Play Storeへの新規アプリ提出はAAB形式が必須
💡GooglePlayStoreの機能であり、他のストアではAPKでアップロードする必要がある。
- APK:端末側がアプリを動かすために読み込むファイル
- AAB / APKとは?
- Gradleというビルドツールがビルド設定に応じた処理で、ライブラリの依存関係を解決したり、ソースコードや画像などのリソースの不要コードを削除したり、ソースコードのコンパイルをした上で、AAB / APK ファイルに圧縮します
- 配信
- GooglePlayStoreで配信する場合、圧縮したファイルをGooglePlayConsoleにアップロードして配信します
- サードパーティストアで配信することもできます。スマホソフトウェア競争促進法(2025年12月施行)により、日本でもサードパーティストアからの正規配信が可能になっています
- Webサイトなどで直接アプリを配信することもできます。その場合、ユーザーは提供元不明のアプリのインストールを許可する必要があります
参考
💡
まとめ
- 開発⇒ビルド⇒配信の流れアプリになっていくよ
- Androidアプリは主にKotlin(またはJava)で書かれるよ(Kotlin-first)
- ビルドの際にはAAB/APKファイル形式になるよ(Google PlayではAAB必須)
- 配信方法はGoogle Play Store、サードパーティストア、Webサイトなどがあるよ

