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