Android プロジェクトのパッケージ化

最終的な Android プロジェクトのパッケージ化について説明します。

前提トピック

このページは以下のトピックへの知識があることを前提にしています。まず以下のトピックの内容についてご確認をお願いします。

Choose your operating system:

Windows

macOS

Linux

このページでは、Android デバイスへデプロイするための Unreal Engine (UE) 全体をパッケージ化する方法について説明します。UE で Android プロジェクトを簡単にパッケージ化し、便利なファイルに出力して、スマートフォンでテストするためにプロジェクトをインストール / アンインストールすることができます。

基本設定

まず、以下の要件およびプロジェクト設定を満たしていることが必要です。

まだプロジェクトを作成していない場合は、Third-Person Template[Target Hardware][Mobile/Tablet]、また品質を [Scalable] に設定してプロジェクトを作成してください。

1. プロジェクトをパッケージ化する

このセクションでは、プロジェクトを .APK ファイルとしてパッケージ化します。

このゲームは現在テスト中なので [Development] にパッケージ化しますが、ゲームが完成したら、[Shipping] を使用してパッケージ化することができます。[Platforms] > [Android] へ移動してパッケージングの設定をするために [Shipping] を選択します。

  1. [File] メニューで [Package Project] > [Android] を選択し、パッケージ化したいテクスチャ フォーマットを選びます。この例では、すべてのデバイスがサポートしている Android ETC2 を使うことにします。

    画像をクリックしてフルサイズで表示

    Select Package Project

    画像をクリックしてフルサイズで表示

    どのハードウェアで実行するかによって、サポートするテクスチャ フォーマットはデバイスごとに異なります。各種フォーマットの詳細は「Android 開発リファレンス」を参照してください。

    形式

    説明

    ETC2

    すべての OpenGL 3.x クラス デバイスでサポートされ、アルファ テクスチャの圧縮もサポートします。

    DXT

    Nvidia Tegra GPU でサポートされ、アルファ テクスチャの圧縮もサポートします。

    ASTC

    最新のテクスチャ圧縮フォーマットで、ブロック サイズを指定して細かい品質調整を可能にします。アルファ圧縮をサポートします。現時点では使用できるデバイスは限られています。

    既存プロジェクトをサポートするために Unreal Engine の古いバージョンを使用している場合は、以下のレガシー テクスチャ形式も利用することができます。

    形式

    説明

    ETC1

    すべての Android ベース デバイスでサポートされますが、アルファ テクスチャの圧縮はできません (圧縮されないまま格納されます)。アルファをうまく圧縮するには、RGB および別々のアルファ テクスチャの使用を推奨します。

    ETC1a

    アルファ値を持たないテクスチャに ETC1、アルファ テクスチャに ETC2 を使用します。デバイスが ETC2 をサポートしていない場合、アルファ テクスチャは実行時に RGBA に展開されます。RGBA は ETC1 と ETC2 の両方で使用できますが、アルファ値を含まないテクスチャに ETC1 を使用した場合、ETC2 の場合ほど高い品質は得られません。

    ATC

    Qualcomm Adreno GPU でサポートされ、アルファ テクスチャの圧縮もサポートします。

    PVRTC

    PowerVR GPU でサポートされ、アルファ テクスチャの圧縮もサポートします。

  2. パッケージ化したゲームの保存場所を聞かれます。保存場所のデフォルトはプロジェクト フォルダです。新規フォルダを作成し、「Android_Builds」と名前を付けます。

    Create folder for packaging project

    画像をクリックしてフルサイズで表示

  3. ゲームのパッケージ化処理中は、処理の進捗状況が右下隅に表示されます。

    Packaging Progress message

  4. パッケージ化が正常に終了すると、パッケージ化の完了メッセージがエディタの右下隅に表示されます。

    Packaging Complite message

  5. ステップ 2 で作成したフォルダを開くと、

    Open folder for packaging project

    画像をクリックしてフルサイズで表示

2.パッケージ化したプロジェクトをデバイスへデプロイする

プロジェクトを .APK にパッケージ化したので、このセクションではビルドをデバイスにデプロイする方法を説明します。

  1. Android デバイスを USB ケーブルで PC に接続します。プロンプトが表示されたら、PC にファイル変更を許可します。

  2. Android_ETC1 フォルダを開いて `Install_[ProjectName]_Development.bat バッチ ファイルを **ダブル クリック** して、Android デバイス上にプロジェクトをインストールします。

    Install the project to Android device

    実行時にデバイスが USB で接続されていないと、.BAT ファイルは何も処理しません。

この操作ガイドを終了すると、プロジェクトは Android デバイス上に以下の画像のように表示されます。

画像をクリックしてフルサイズで表示

さらに、.APK ファイルおよび関連するヘルパをテストするために、他のデバイスへデプロイします。

App Bundles をパッケージ化する

Android App Bundles.APKs をパッケージする別の手段として Google から提供されている配布形式です。さまざまなデバイスのサブセットに対して異なる .APKs を作成するかわりに、単一の Android App Bundle build (.aab) を作成し、Google Play Store へアップロードすることができます。その後ストアのダイナミック ディストリビューション システムは、アプリケーションがダウンロードされた時に App Bundle のコンテンツを使ってユーザーの専用デバイスに対して最適化された .APKs を生成します。

Google Play Store でのビルドの維持に関わる作業を十分考慮するだけなく、App Bundle builds は .APKs をこれまの 100 MB から最大 150 MB で配布することができます。この制限は最終的な .APKs に適用されます。.APKs を生成するための App Bundle には適用されません。

App Bundle Build を作成するには、Project Settings を開き、[Platforms] > [Android] セクションを開きます。[App Bundles] セクションで [Generate Bundle (AAB)] を有効にします。

画像をクリックしてフルサイズで表示

プロジェクトを Android 用にパッケージ化するには、.aab ファイルを生成して Google Play にアップロードします。テストのためにユニバーサルな .apk を生成することもできます。

Google Play Store の制約により、Android App Bundles は .obb ファイルで配布することはできません。

App Bundle ビルドを設定するための別の設定を使って、プロジェクト用の最終的な .apks の生成に App Bundle が使用する感度の微調整ができます。

設定項目

説明

Generate Universal APK from Bundle (バンドルからユニバーサル APK を生成)

この設定により App Bundle がどのデバイスでも実行可能な、エンドユーザー向けのユニバーサルな .apk ファイルを生成することができます。マシンでテストするために生成したユニバーサルな .apk には影響を与えません。

Enable ABI Split (ABI 分割を有効化)

App Bundle はユーザーの CPU で使用される Application Binary Interface に基づいて別の .apk を生成します。例: arm64-v8a, x86, x86_64.

Enable language split (言語分割を有効化)

App Bundle はユーザーの言語に基づいて別の .apk を生成します。ユーザー用にローカライズされたストリングのみダウンロードされます。

Enable density split (密度分割を有効化)

App Bundle は画像解像度と DPI に基づいて別の .apk を生成します。ユーザーのデバイスと互換性のあるアイコンおよびスプラッシュ画面のみダウンロードされます。

たとえば、ABI 分割を有効にして言語分割を無効にした場合、..aab は ユーザーのデバイスに互換性のある ABI に基づいてユーザーのデバイスに対して最終的な APK を調整しますが、すべてのユーザーはデバイス設定や言語設定に関係なく全言語のリソースを受け取ります。

デフォルト設定では最終的な .apk が可能最小サイズになり、デフォルト設定を無効にすると .APKs は大きくなります。

.APKs または .AABs を Google Play Store にアップロードする方法については、「Android でシッピングする」を参照してください。

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
キャンセル