Android の開発リファレンス

異なる Android SDK のインストール方法、環境変数の設定方法、テクスチャ フォーマットの扱い方。

概要

Android 開発リファレンスの各ページでは、Unreal Engine (UE) の Android プロジェクトの開発に利用するコンピュータに必ずインストールおよび設定する必要がある、さまざまなソフトウェア コンポーネントおよびシステム設定に関する概要を示しています。

Android の開発要件

Unreal Engine の現在のバージョンに必須の SDK コンポーネントおよび互換性のあるハードウェアの詳細については、「Android の開発要件」のページを参照してください。

環境変数

提供された UE のインストーラから CodeWorks for Android 1R7u1 をインストールしていない限り、一部の変数が適切に設定されているかどうか確認する必要があります。

インストールが完了 (システムのコントロール パネルで環境変数を設定するか、CodeWorks for Android 1R7u1 をインストール) したら、エディタと Launcher の両方のアプリケーションを再起動する必要があります。 これは、Windows アプリケーションでは、環境変数を保存してから、起動するアプリケーションに古いバージョンがパスされるためです。

Android SDK が適切にインストールされていないことを示すメッセージが引き続き表示される場合は、コンピュータを再起動することをお勧めします。

環境変数を設定するには:

  • コンピュータ アイコンを右クリックするか、またはキーボードの Windows-Break を押します。

  • 左側の [Advanced system settings (システムの詳細設定)] を選択します。

  • [Environment Variables... (環境変数...)] をクリックします。

  • 各変数 (以下を参照) に対し、以下のことを行います。

    • リスト (システムまたはユーザー) のいずれかに 1 つ以上設定済みの環境変数 (以下から) を探します。

    • 見つからない場合は、システムのセクションの横にある[New... (新規...)] をクリックします。

    • 名前と値を入力します。

    • [OK] をクリックします。

  • [OK] をクリックし、[Environment Variables (環境変数)] ウィンドウを閉じます。

利用する変数と、それが指す場所を以下に示します。

ANDROID_HOME

  • Android SDK をインストールしたディレクトリ、または ADT をインストールした場合は sdk ディレクトリにこれを設定します。

  • platform-tools というディレクトリを含んでいる必要があります。

JAVA_HOME

  • JDK をインストールした場所にこれを設定します。jdk1.8.0_121 などの名前が付けられています。

  • その中に、javac.exe を含む bin というディレクトリが存在する必要があります。

AGDE_JAVA_HOME

  • AGDE を使用するために必要な JDK インストールにこれを設定します。

  • その中に、javac.exe を含む bin というディレクトリが存在する必要があります。

ANT_HOME

  • Ant を解凍した場所にこれを設定します。

  • その中に、ant.bat を含む bin というディレクトリがあります。

NDKROOT

  • NDK を解凍した場所にこれを設定します。android-ndk-r11c などの名前が付けられています。

  • ndk-build.cmd というファイルを含んでいる必要があります。

CodeWorks for Android 1R7u1 をインストールしていない限り、一部の変数が適切に設定されているかどうか確認する必要があります。

インストールが完了 (.bash_profile ファイルを編集するか、CodeWorks for Android 1R7u1 をインストール) したら、エディタと Launcher の両方のアプリケーションを再起動する必要があります。

環境変数を設定するには、home ディレクトリ内の .bash_profile ファイルを編集する必要があります。 Finder ではこのファイルは非表示になっているため、編集するために開くにはターミナルを利用する必要があります。 Unix ターミナル コマンドに詳しくない場合は、次のことを行ってください。

  1. /Applications/Utilities から ターミナル アプリ を開きます。

  2. まだ存在しない場合は、「touch .bash_profile」と入力し、ファイルを作成します。

  3. 「open .bash_profile」と入力し、ファイルをテキスト エディタで開きます。

  4. 次の行をファイルにコピーし (インストールした SDK およびツールを指すようにパスは置き換える)、保存します。

    • export ANDROID_HOME="/Users/epicgames/Devel/NVPACK/android-sdk-macosx"

    • export NDKROOT="/Users/epicgames/Devel/NVPACK/android-ndk-r12b"

    • export ANT_HOME="/Users/epicgames/Devel/NVPACK/apache-ant-1.8.2"

利用する変数の名前と、それが指す場所を以下に示します。

  • ANDROID_HOME

    • Android SDK をインストールしたディレクトリか、ADT をインストールした場合は SDK ディレクトリにこれを設定します。

    • platform-tools というディレクトリを含んでいる必要があります。

  • ANT_HOME

    • Ant を解凍した場所にこれを設定します。

    • その中に、ANT というファイルを含む bin というディレクトリが存在する必要があります。

  • NDKROOT

    • NDK を解凍した場所にこれを設定し、android-ndk-r12b のような名前を探します。

    • その中に、ndk-build というファイルが含まれている必要があります。

Android のヒントとコツ

[Launch (起動)] メニューのリストにデバイスが表示されていない場合は、次のことを試してください。

  • 数秒待機してから再度確認します。バックグラウンドで接続されたデバイスをスキャンするには少し時間がかかることがあります。

  • USB のデバッグ接続が機能していることを確認します。

  • コマンド プロンプトを開きます (Windows+R を押し、「cmd.exe」を実行する)

    • コマンド「adb devices」を入力します

    • リストに表示されるデバイスがない場合は、USB ドライバが適切にインストールされていません。ドライバのインストール方法は、お使いの Android デバイスによって異なります。オンラインでデバイス モデルと「USB ドライバ」で検索し、 ドライバをインストールします。

    • さらに、デバイスで Developer モードが有効になっていて、USB デバッグがオンになっているのを確認する必要があります。詳細については、ハードウェア デバイスを使う Android デベロッパーのためのガイド (特に 2 項と 3 項) を参照してください。

    • その後、adb devices コマンドが機能することを確認します。これがないと、Engine は Android デバイスで何も行うことができません。

お使いのデバイスが [Launch] メニューに表示されたものの、デバイスへのデプロイが滞っている場合、最もよくあるのはデバイスが PC と通信することを許可されていないことによるものです。進捗バーの [Show Log (ログを表示)] をクリックすると、 最後の行は `adb uninstall`を呼び出していることを示している場合があります。

  • 上記のとおり、cmd.exe を使って adb devices コマンドを実行します。

  • デバイスが表示されても権限がないと表示される場合は、デバイスに PC に認証させるかどうかを尋ねさせる必要があります。 デバイスを表示させるには、デバイスの電源をいったん抜いて再接続しなければならない場合があります。

  • [Always allow (常に許可)] チェックボックスにチェックを入れておくことをお勧めします。

[Launch] メニューのリストにデバイスが表示されていない場合は、次のことを試してください。

  • 数秒待機してから再度確認します。バックグラウンドで接続されたデバイスをスキャンして登録するには少し時間がかかることがあります。

  • USB のデバッグ接続が機能していることを確認します。

  • ターミナル アプリを開いて、次のことを試します。

    • ターミナルに、コマンド「adb devices」を入力します。

    • リストに表示されるデバイスがない場合は、USB ドライバが適切にインストールされていません。ドライバのインストール方法は、お使いの Android デバイスによって異なります。オンラインでデバイス モデルと「USB ドライバ」で検索し、必要なドライバをインストールします。

    • さらに、デバイスで Developer モードが有効になっていて、USB デバッグがオンになっているのを確認する必要があります。詳細については、ハードウェア デバイスを使う Android デベロッパーのためのガイド (特に 2 項と 3 項) を参照してください。

    • その後、adb devices コマンドが機能することを確認します。これがないと、Engine は Android デバイスで何も行うことができません。

お使いのデバイスが [Launch] メニューに表示されたものの、デバイスへのデプロイが滞っている場合、最もよくあるのはデバイスが Mac と通信することを許可されていないことによるものです。 進捗バーで [Show Log] 行をクリックし、最後の行が `adb uninstall`を呼び出していることを確認したら、次のことを試してみてください。

  • ターミナル アプリを開き、adb devices コマンドを実行します。

  • デバイスが表示されても権限がないと表示される場合は、デバイスに Mac に認証させるかどうかを尋ねさせる必要があります。

  • [Always allow (常に許可)] チェックボックスにチェックを入れておき、Mac によるこのデバイスとの通信を常に許可することをお勧めします。

Android テクスチャ フォーマット

Android デバイスはすべて同じ構成をしているわけではありません。特に、レンダリング ハードウェアは 4 種類あります。それぞれが異なるフォーマットの圧縮テクスチャをサポートしています。

フォーマット

説明

ETC1

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

ETC2

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

ATC

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

DXT

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

PVRTC

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

ASTC

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

Android 向けにゲームをデプロイまたはパッケージ処理を行った場合、データは Android デバイスで利用できるフォーマットへ変換されます (このプロセスを「クック」と呼びます)。各デバイスがサポートする圧縮フォーマットは それぞれ異なるので、クックするフォーマットはユーザーが選択します。サブメニューの [Launch] または [Package (パッケージ)] を選択すると、Android に続いて利用できるフォーマットが表示されます。

最初のフォーマット (Android) は、事実上すべてのフォーマットを取り込んで、これらをクックしてパッケージへまとめます。処理時間は多少長めで、作成されるパッケージ サイズも大きくなりますが、ランタイム時に最適のフォーマットを選択すれば、使用メモリは必要最低限に 確実に抑えられます。どのデバイスでも機能します (Android (ETC1) と同様)。

Unreal Engine 4.8 以降のバージョンで、ES31 および AEP レンダリングを Tegra K1 デバイス上で使用できるようになりました。 ES31 と AEP レンダリングをサポートしているデバイス数が限られているため、現段階ではパフォーマンスおよび互換性テストがほとんど完了していないことに留意してください。 これらのデバイスのどれかを使用することを目指してプロジェクトの開発を行っている場合は、プロジェクトの中でデバイスが期待する動きをするように、拡張パフォーマンスと互換テストを行うことをお勧めします。

フォーマットを選択する

ほとんどの場合は、お使いのデバイスに最適なフォーマットを選択されるでしょう。デバイスに搭載されている GPU のタイプがわかる場合、上記の表を参照してフォーマットを選択してください。タイプがわからない場合、[Android] または [Android (ETC1)] を選択します。ゲームの実行時にスクリーンを指 4 本で一度にタップすると、ダイアログが表示されます。このダイアログは通常コンソール コマンド (stat fps などの) の入力に使用しますが、ユーザーのデバイスがサポートしているフォーマットも表示します。表示されたリストの中からデプロイおよびパッケージングにより適したタイプを選択します。お使いのデバイスでサポートされていないフォーマットが選択された場合、読み込みが失敗します。

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