Search Issue Tracker

Fixed in 2020.1.X

Votes

30

Found in

2019.3.0a12

Issue ID

1177631

Regression

No

[Linux] Unity Hub sets up Android SDK, NDK and JDK incorrectly on Linux

Hub

-

Android deployment tools are set up incorrectly on Linux, we've found the following issues, resulting in the tools not being recognized by Unity:
1) The executables in OpenJDK (Editor/Data/PlaybackEngines/AndroidPlayer/OpenJDK) don't have the right permissions for execution (possibly due to wrong compression/uncompression of JDK archive) - "chmod +x OpenJDK" fixes the JDK location.
2) Android SDK (Editor/Data/PlaybackEngines/AndroidPlayer/SDK) is missing the tools directory in it. Copying the tools dir from somewhere else fixes SDK.
3) Android NDK is unpacked to the wrong directory (Editor/Data/PlaybackEngines/AndroidPlayer/NDK/android-ndk-r19 instead of Editor/Data/PlaybackEngines/AndroidPlayer/NDK, compared to other platforms) - moving the contents to the correct directory fixes NDK.

How to reproduce:
1. Create or open any project on a version that was installed via Unity Hub (along with Android SDK & NDK tools)
2. Go to Preferences -> External Tools and make sure that Android SDK/NDK Installed with Unity checkmarks are ticked
3. Build for Android

Expected results: Project .apk is successfully built
Actual results: Errors regarding not being able to locate Android SDK

Reproducible with: 2019.1.14f1, 2019.2.6f1, 2019.3.0b4, 2020.1.0a3 (versions downloaded through Unity Hub)
Versions 2018.4 and below do not have the option of downloading SDK & NDK tools through the Hub

Behavior in 2019.1.14f1 - when trying to build, a dialog box appears "Android SDK is outdated. SDK Tools version 0.0.0 < 26.1.1."
Behavior in 2019.2.6f1 - dialog box contains "Unable to locate Android SDK"
Behavior in 2019.3.0b4, 2020.1.0a3 - dialog box contains "Android SDK not found or invalid. Please, fix it in Preferences -> External Tools"

Notes:
- In 2019.3.0b4 and 2020.1.0a3, in Preferences window under Android SDK Tools and NDK Installed with Unity (recommended) there are warnings that say:
"You are missing the recommended Android SDK Tools / NDK. Install the recommended version with Unity Hub."
- Workaround is to use external SDK & NDK, for instance downloaded through Android Studio
- In Data/PlaybackEngines/AndroidPlayer SDK & NDK content exists, but Editor does not locate it correctly

Comments (23)

  1. Folorox

    Mar 09, 2020 09:01

    Fixed by latest Unity Hub version 2.3.0. Thanks Unity!

  2. russisunni

    Mar 07, 2020 14:07

    Thanks FILIW

  3. eldominantegrande

    Mar 01, 2020 13:35

    I'm still facing the issue with 2020.1.0a25.
    I could successfully use the workarounds for the OpenJDK and AndroidNDK but not for the Android SDK.

    I tried to copy the tools folder from my Android SDK folder to the SDK folder of the Unity editor but it still says that the Android SDK could not be found.
    Is there more to do than to copy the tools folder?

    I also tried to set the path to my Android SDK folder downloaded using the sdkmanager but that changed nothing.

  4. philroh

    Jan 23, 2020 15:27

    You can download JDK here:
    https://jdk.java.net/java-se-ri/8
    That's working.

  5. philroh

    Jan 22, 2020 18:29

    OpenJDK doesn't work for me.
    Error message: You are missing the recommended JDK. Install the recommended version using Unity Hub.
    Can I download it somewhere?
    Thanks in advance for your help.

  6. alexds9

    Jan 21, 2020 07:19

    This problem still exist in Unity 2019.3.0f5, Unity Hub 2.2.2.
    Any chance it will be solved?

  7. senkal_

    Dec 28, 2019 21:42

    Thank you for creating this detailed bug report, wanted to create one myself but found this one instead.
    Big plus for info about possible solutions, especially the NDK workaround.
    This is a little annoying, have to admit :)
    Hopefully will be fixed relatively soon.

    I tried multiple version since 2019.2.x and can confirm this behavior 100%, always can reproduce.
    Ubuntu 18.04.

  8. tbsenior

    Dec 28, 2019 18:05

    Same merde here. Four hours into a fresh install of Unity, still no running .apk.

  9. filiw

    Dec 24, 2019 10:43

    Much appreciated. FYI, to fix OpenJDK I had to:

    chmod +x Editor/Data/PlaybackEngines/AndroidPlayer/OpenJDK/jre/bin/*
    chmod +x Editor/Data/PlaybackEngines/AndroidPlayer/OpenJDK/bin/*

  10. Skit5

    Dec 10, 2019 03:19

    The second point means you need to go there https://androidsdkmanager.azurewebsites.net/SDKTools
    Then download the tools and place them under the SDK folder

Add comment

Log in to post comment

All about bugs

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