🚀 ニフティ’s Notion

【モバイルアプリ2024 #4】Androidアプリ開発の流れ

💡
この章で話すこと
  • Androidを動かす上での技術スタック
  • ソースコードがアプリになるまでの過程

Androidアプリの概要

技術スタック

AndroidアプリはJava/Kotlinで記述するので、これら言語環境の上に成り立っています。

大抵のプラットフォームは言語とプラットフォームのAPIを覚えれば後は便利ライブラリを探すだけなのですが、Androidは歴史的な事情から、覚える必要のあるライブラリが非常に多くなっています。

image block

特にAOSP(Android Open Source Project)公式が出している補助ライブラリ群「AndroidX」がかなり大きいのが特徴です。実際の開発ではAPIの一部と化している実態もあるため、これらも合わせて覚えていく必要があります。

ソースコードがアプリになるまで
image block
  1. 開発
    1. Android開発はAndroid Studioで行うことが一般的ですが、Android開発に使うツール群はAndroid Studioがなくても単独で実行することができます。Android Studioはエディタ機能と、それらツール群との連携を自動でしてくれます。
  2. ビルド
    1. Gradleというビルドツールがビルド設定に応じた処理で、ライブラリの依存関係を解決したり、ソースコードや画像などのリソースの不要コードを削除したり、ソースコードのコンパイルをした上で、AAB / APK ファイルに圧縮します。
      • AAB / APKとは?
        • APK:端末側がアプリを動かすために読み込むファイル
          • Androidアプリは最終的にAPK(android Application PacKage)というファイルにまとめられる
          • 実体としてはzipファイルなので、拡張子を.zipにすれば解凍可能
        • Split APK:分割されたAPKを読み込める機能
          • 有料プランを有効化した人のみに有料部分のAPKを配信し、機能を有効化
          • 言語や画面サイズごとのデータを別々のAPKに分割し、必要なもののみを配信
          Icon
          1つのAPKファイルだけでは対応できない
        • AAB:Split APKに対応するため、APKにする前のデータをまとめておくファイル
          • Google Play側でAABからAPKへのパッケージングを行う
          • 端末側からAABを直接読み込むことはできない
          Icon
          Google Play Storeの機能であり、他のストアではAPKでアップロードする必要がある
  3. 配信
    1. Google Play Storeで配信する場合、圧縮したファイルをGoogle Play Consoleにアップロードして配信します。
    2. Webサイトなどでアプリを配信することもできます。その場合、ユーザーは提供元不明のアプリのインストールを許可する必要があります。
参考

💡
まとめ
  • 開発ビルド配信 の流れアプリになっていくよ
  • AndroidアプリはJava/Kotlinで書かれることが多いよ
  • ビルドの際にはAAB/APKファイル形式になるよ
  • 配信方法はGoogle Play StoreやWebサイトなどを使えるよ