Search Issue Tracker

Active

Votes

17

Found in

Issue ID

956425

Regression

No

Android builds fail with Java 9 JDK and Unable to list target platforms error

Android

-

-

Priority: 2Necessary for shipping a final release

-

Severity: 2No workaround

With the latest public versions of Unity (2017.1.1f1), Android Studio/SDK tools(26.0.2), and JDK (Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode), Android builds failed early on with:

Error:Invalid command android
CommandInvokationFailure: Unable to list target platforms. Please make sure the android sdk path is correct.
See the Console for more details. Error building Player: CommandInvokationFailure: Unable to list
target platforms. Please make sure the android sdk path is correct. See the Console for more details.

A similar problem (same error message, but different cause) has been reported about 6 months ago: https://issuetracker.unity3d.com/issues/android-build-fails-when-the-latest-android-sdk-tools-25-dot-3-1-version-is-used

In my case, downgrading to JDK 8 fixed the problem.

Reproduced with:
2017.3.0b4, 2017.2.0f3, 2017.1.2f1, 5.6.3p4, 5.5.5f1

Comments (7)

  1. 6e891fffcd6b651fca09f7939b5ee4c6?d=mm

    PictonicStudio

    Nov 18, 2017 07:59

    This has been going on since Android was a thing, with hacky ways of getting it to work. I don't think it's ever going to get fixed lol.

  2. 23f30b318eb233c7706d6d9afebc781d?d=mm

    noumannoor987

    Nov 07, 2017 22:01

    If you are using JDK 9 and trying to build for Android in Unity - you're most likely to have your build failed, with message like "Unable to list target platforms" - "Error:Invalid command android".

    We are working together with Google on fixing this issue - it requires fixes on Unity side, but also Android SDK tools need to be updated to be compatible with latest Java.

    In the meanwhile, we recommend using Java 8 (JDK 8). You can have both Java installations side-by-side, just need to configure Unity Preferences => External Tools => JDK to point to your JDK 8 installation.

    We apologize for the inconvenience caused!
    Your Unity Mobile team

  3. F7556ef1c9ebb3e979511562105383a1?d=mm

    namannigam12

    Oct 27, 2017 16:58

    Linking with one more such occurrence on JDK 9.0.1 - https://stackoverflow.com/questions/46978301/unity-failed-to-build-apk-android

  4. F5a8b5c6bbd6afcd0c4ebc282d83c6b6?d=mm

    cbarnes_bnea

    Oct 25, 2017 21:40

    Seconding this - even having JDK 9 installed on the system causes the build to fail with this error, regardless of what JAVA_HOME or the Unity JDK setting is.

    Removing JDK9 entirely from /Library/Java/JavaVirtualMachines corrects the issue.

    (Unity 5.6.4p1/macOS 10.13)

  5. C1b26b10cbaeb0be72a8232a1056d19d?d=mm

    Reekdeb

    Oct 12, 2017 23:06

    Experiencing same problem. Build fails with JDK 9.

    Setting JAVA_HOME to JDK 1.8 fixed the problem.

  6. B43713f110765796e7ec14537f772213?d=mm

    Ryoha

    Oct 12, 2017 19:00

    I have same problem.
    JDK 9 100% error on build!
    whats going on?
    The problem is in JDK or Unity?

  7. D1738665e6a05b68159d278c89807267?d=mm

    pesahov

    Oct 09, 2017 13:48

    On the scratch system macos high sierra 10.13 I've installed JDK 9 on by homebrew and Unity 2017.2.0f2 didn't work with it.

    After it downloaded JDK 8 from Oracle site but and changed path in Unity settings but the issue didn't solved.
    After adding export JAVA_HOME=`/usr/libexec/java_home -v 1.8` to ~/.bash_profile it didn't work too.

    Only full removing JDK 9 solved the issue by command: brew cask uninstall jdk

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.