Android
Unity

【Unity Android】Unable to list target platforms... が出たときに試したこと

邂逅

UnityでAndroid向けアプリをBuild & Runするとこんなのに悩まされることがある。

20170409155809.png

出やがったな。
後はBuildはできるけど、Build & Runができないとか。

それらに対抗すべく、僕が試したことをメモしておきます。

環境

PCの環境
Windows 10 64bit
Unity 2017.4.2f2 64bit
Android SDK (28.0.0 rc1)

ターゲット端末
HTC 10(HTV32) Android 7.0

古いAndroid SDKツールを使ってみる

これをそのままやってみる。
UnityのAndroidビルドができなくなった時の対処法

Android SDKのtoolsフォルダーを上書きする手法。
どうやら最新のSDKにUnityが対応しきれていないらしいが、僕はこれで改善しなかった。
これで改善することもある(らしい)のでお試しあれ。

とりあえず.apkファイルをBuidだけしてみる。

File → Build Settings... とクリッククリックしていくと出てくるウィンドウの右下にある「Build」ボタンをクリック。
.apkを保存するフォルダーを選んでくれ~みたいになるので、適当な場所を選んでビルド。

これが正常に終われば、クラウドとかで端末に.apkさえコピーできればとりあえず実機動作はさせられる。

スマートじゃないじゃん?

めっちゃくちゃめんどくさい。
という事でadbコマンドをつかって手動インストールしてみよう。

Android SDKツールをWindows Power Shellで使えるようにする

環境変数を編集してAndroid SDK配下にある「platform-tools」にパスを通します。
それで通じるのならこの段落は読み飛ばしちゃっておーけー。

エクスプローラーを開いて「PC」を右クリックしてプロパティをクリック。
Pause/BreakキーがあるキーボードならWindowsキーとPauseキー同時押しでも同じ画面が出せます。

ウィンドウの左側に並んでるやつの一番下「システム詳細設定」をクリック。
システムのプロパティのウィンドウが開いたら、下の方にある「環境変数」をクリック。

そしたら、環境変数のウィンドウが開くので画面上の「(ユーザー名)のユーザー環境変数」の「Path」をクリックして「編集(E)...」ボタンをクリック。
下のシステム環境変数の「Path」に書いてもいいけど、理由がなければユーザー環境変数でいいと思います。

そうすると、また変なウィンドウが開くので「新規(N)」をクリックして開いたダイアログでAndroid SDKフォルダー配下にある「platform-tools」を参照。

いろんなウィンドウの「OK」ボタンをポチポチして適当に閉じて、パスを通す作業を終了。

Windows Power Shellで確認しよう

画面のWindowsボタンを右クリックしてWindows Power Shellかコマンドプロンプトを実行。

適当に「adb」と入力してなんかバラバラっと英語のメッセージが出てきたら成功。

image.png

赤字とかで日本語のエラーメッセージが出てきたら失敗してるので環境変数を確認してみましょう。

ADBコマンドでインストールしてみる。

まずデバッグ可能なAndroid端末が接続されているかを確認する。

WindowsPowerShell
User> adb devices
List of devices attached
ABCDE123456    device

なんか英語数字混じったやつが出てればおーけー。認識されてます。
ここでなんも出てこないとか、英語いっぱい出てきた時は端末のデバックが有効になっているか、認証しているか、そもそも接続されているのかを確認して、もっかい同じコマンドを実行してみましょう。
矢印キーの上を押せば同じコマンドを再度実行できます。

認識されてることを確認したら、インストールしてみましょう。

WindowsPowerShell
User> adb install -r C:\Users\user\example\test.apk ←インストールする.apkファイルのパス

-rオプションは上書きを許可するオプションです。
デバッグは上書きしまくると思うのでつけといたほうが楽だと思います。

これで、ちょっと焦らしプレイされた後に「Success」と表示されたらインストールができているので端末で実行して確認しましょう。

なんか失敗したときはもう一回試してみるか、端末にインストール済みのデバッグ対象のアプリをアンインストールしてからまた試してみましょう。

もっかいBuild & Runしてみる

ADBコマンドでインストールしてみた後に再びBuild & Runをやってみると不思議なことにできるようになっていることがあります。

ダメだったら...仕方ないね...
Unityでビルドした.apkをADBコマンドでインストールして実機動作させましょう。

まとめ

  1. Unityで.apkをBuildする!
  2. Android SDKの「platform-tools」にパスを通す!
  3. 「adb install -r (.apkのパス)」をPower Shellで実行してADBコマンドでインストールしてみる!
  4. インストール出来たらUnityのBuild & Runをもう一回試してみる!

ご意見とか質問とか

お気軽にTwitterへどうぞ!
UnityもAndroidもお勉強中なので的確に解決に導けないとは思いますが、一緒に悩みます :)

個人でいろいろ開発もやってるのでフォローもお待ちしてます ( ˘ω˘)