💡
  
  
    
  
    
      
        
          
            この章で話すこと
          
        
      
    
  
    
- 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サイトなどを使えるよ