Unity を使って Android 用に開発している間に、多くの問題が発生する場合があります。問題はしばしばプラグインや不適切なプロジェクト設定に関連しています。 このセクションでは、よく発生するシナリオと関連するトラブルシューティングについて概説します。
既存のネイティブのプラグインを削除します。
ストリッピングを無効にします。
adb logcat
を使用してデバイスのクラッシュレポートを取得します。詳しくは、公式の Android 開発者用 logcat コマンドライン ツール を参照してください。
Settings > Developer Options > Don’t keep activities がデバイスで有効になっていないことを確認します。
ビデオプレイヤーはデバイス自体の機能です。そのため、ビデオプレイヤーがアクティベートされると、通常のゲームのアクティビティは破棄されます。
システムに接続した Android デバイスが見つからない場合は、以下を確認します。以下を確認します。
USB ケーブルやソケットを調べて、デバイスが実際にコンピューターに接続されているかを確認します。
デバイスの開発者向けオプションで USB デバッグ が有効になっていることを確認します。詳細は、Android SDK/NDK セットアップ を参照してください。
Android SDK をインストールのための platform-tools
ディレクトリの adb devices
コマンドを実行し、出力を確認します。
出力リストが空で、Windows を使用している場合は、ADB デバイス用のドライバーをインストールする必要があります。 詳細については、 Android SDK/NDK セットアップ を参照してください。
リストに unauthorized のエントリーが含まれている場合、デバイス上のコンピューターを認証し、デバッグする権限を与える必要があります。デバイスの画面で関連するダイアログを確認してください。
リストに device と表示されるデバイスが含まれている場合は、Unity でプロジェクトを再度ビルドします。
このエラーは、Android Asset Packaging Tool (AAPT) が失敗した場合に発生します。 AAPT は、Android のビルド中に中間のアセットパッケージを構築するために使用されます。この問題は、たいてい Android プラグインのリソースが不足しているか、リソースが重複していることが原因です。
詳細については、コンソールメッセージを確認すると欠落しているか重複しているリソースの ID が含まれています。プラグインのエラーを修正するには、不足しているリソースや設定を追加するか、重複したプラグインを削除します。
この問題はおそらく、プラグインの 1 つのマニフェストが Unity の主要マニフェストと互換性がないことに起因します。
どの属性が矛盾しているかに関する詳細はコンソールメッセージを確認し、それに従ってマニフェストを修正してください。
Android マニフェストに関する詳細は、Android マニフェスト を参照してください。
この問題はおそらく、Java プラグインが 2 回追加されたことに起因します。Unity がコンパイルされたすべての Java プラグインの DEX ファイルをビルドしようとすると、クラスを複製します。重複するものを調べるにはコンソール出力を確認し、プラグインを修正してください。
コンソールメッセージに「参照が多すぎます」と表示される場合は、フィールドとメソッドの数が DEX の制限の 64k を超えているということです。これは通常、プラグインまたはプラグインリソースの数が多すぎる場合に発生します。参照を生成する方法によっては、わずか 2 つの大きなプラグインで制限に達する可能性があります。
この問題を解決するにはいくつかの方法があります。そのうちの 1 つは、プラグインを削除することです。ただし、これを解決する最も簡単な方法は、Gradle ビルドシステム に替えたり、プロジェクトをエクスポートして Android Studio でビルドを行うことです。
このエラーは以下に起因します。
互換性がないデバイスにインストールしようとしている。
Player settings で Minimum API Level より低いバージョンの Android を使用するデバイスにインストールしようとしている。
実際のエラーと出力に関しては、コンソールを確認してください。