MacにてUnity5.6.6でAndroidビルドできないー備忘録-解決済み
問題整理のための記事
環境
- mac book pro 2016
- Unity5.6.6(わざと2018を使っていない)
Unityを使いAndroidビルドやること(mac)
- UnityでAndroidアプリのapkファイルをビルド
- ⇨Android Studio必要?
- ⇨SDK
- ⇨JDK
- デジタル署名したパッケージファイル(apkファイル)を準備する
- ⇨eclipseにて生成?
- Googleディベロッパーアカウントを作成 - done
詰まった問題達
JDKのPathが見つからない
macにjdkをインストールしたが場所が見当たらない。
⇨通常はここらしい
⇨/Library/Java/JavaVirtualMachines/jdk1.7.X_XX.jdk/Contents/Home
Libraryは開けたがJavaがいない
いたー!
macのターミナルで
/usr/libexec/java_home -V
これをコピペして入れるとjdkのPath,場所が出てきた!フォルダは見えないのが普通なのかもしれん。
全て理解してから見たら普通にいた。もっとよく探そう…
自分の場合は"Java SE 9.0.4"は
/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home
にいた。
jdk-9.0.4.jdkの部分がバージョンであとは参考記事で見かけたPathと一緒だった。
次はUnityにJDKとSDKのPathを入れる
参考記事:
参考記事見ながらUnity見たら、普通に正しいPathが指定されていた。じゃあ何が問題なんだ!
Unityでもう一度ビルドしてconsoleを確認する
もう一度ビルドすると
Unable to list target platforms. Please make sure the android sdk path is correct. See the Console for more details. See the Console for details.
SDKのPathはあっているはずなんだ。
androidのjavaが9には対応してない?
参考記事:
Unity - Unityでビルドする際にエラーが出て実行できません(107993)|teratail
java9がmacにはインストールされていたのでjava8のJDKをインストールし、Pathを
/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home
に替えた。
Unity5.6.6だとandroid studioのバージョンによってビルドできない?
参考記事:
【Unity2018対応】Androidビルドでエラーが出る場合の対処法 - おもちゃラボ
android studioのtoolsの中身を古いものに差し替えると行けるっぽい?
参考記事にある奴を頂いて差し替えると
古すぎるよと出てきた。Unityから『Update AndroidSDK』を選択したがエラーになった。
最新版だとエラー吐くし、古くてもダメなんかい!わがままだな。
色々いじってみるとtoolsを古いものに置き換えると
Android SDK Platform-Tools がバージョン20.0.0
Android SDK Tools がバージョン22.0.5
になる。
UnityのエラーをみるにAndroid SDK Platform-Toolsはバージョン23.0.0以上で
Android SDK Toolsはバージョン24.0.0以上ではないといけないようだ。
しかしAndroid Studio公式サイトからは過去のバージョンのインストールはできない。
Android SDKTools過去バージョンインストールする方法
参考記事:
android platform-toolsの旧バージョンをダウンロードすることはでき... - Yahoo!知恵袋
直接バージョンを指定することでzipがダウンロードできる。
Platform-Toolsはバージョン23.0.0以上でAndroid SDK Toolsはバージョン24.0.0以上なのはわかっているので、下記2つをダウンロードして解凍して一つのフォルダにがっちゃんこする。
https://dl.google.com/android/repository/tools_r24-macosx.zip
https://dl.google.com/android/repository/platform-tools_r25-macosx.zip
一つのtoolsフォルダにまとめた際に同じ名前のものは全て上書きして大丈夫だった。
ついにビルドできた!
まとめ
めちゃくちゃ大変だった。
Unityのバージョンが5.6.6とだいぶ古いものを使っていたせいなのは大いにあると思われる。
しかし、毎回つまづいて思うが、いい勉強になった。