Qt Creator Android error “Platform SDK installed”

2019-01-23 23:34发布

问题:

I am developing Qt Cross platform application for Android, recently i have updated Qt creator and Installed new Qt version. I am using 'Qt Creator version 4.5.0'. I have updated to 'QT version 5.10'. This Set up is done on Ubuntu 16.04.

Followed link Getting Started with QT Installation.

I am always getting Error message "Android Settings have error" in Qt Creator->Tools->Options->Devices->Android.

Because of above issue i am not able to build application for Android.

I have recently updated my Android sdk, I am able to build and run Sample application from Android Studio, indicating that SDK instalation is working properly. I am using Android SDK tools 26.1.1. Please check bellow screen shots.

Android SDK build tools Installed.

Android SDk platforms installed

Already gone through different links on Stack Overflow and QT forum, All are Suggesting downgrade of Android SDK tools(Due to QT Known bug), but none of the solution is working for me. I know there are few known bugs building Android application with QT 5.9 and Qt Creator version 4.0. I guess It is resolved, as same set up is working fine on Windows 10.

QT Creator wont list any available Android Build SDKs QT Android Installation error

Please help if anybody here resolved same issue.

回答1:

I just found this bugreport, where in the comments can be found

The native 'sdkmanager' tool can not update packages on windows and it fails with JDK 9 and these issues cascades to Qt Creator also.

I just tried installing JDK 8 and changing the path, and after reopening the settings menu it had worked!



回答2:

I am using the answer box to show you how it works for me, one last comment: I don't install NDK 16 .. try remove it from Android manager; while (For Qt) install seperately NDK 10e (this was a Qt recommendation already).

And Qt configuration side:



回答3:

After lot of effort I am able to fix this issue, thanks to Mohammad Kanan, Vesafary who's answer made me get closer to Answer, Actual issue resolved with the following steps. It may be helpful who are facing the same issue In Ubuntu or may work on other platforms as well.

  1. First Step is (as most of the answers suggest) changed from JDK 9 to JDK 8. I am using Java version "1.8.0_152".
  2. Step 1 didn't help me (Qt creator Persist some Settings), so i removed complete Qt 5.8,5.9,5.10 installation (Using Qt Maintainace tool) and following 2 links Uninstall Qt Completely, Uninstall Qt Creator.

and did Instalation again. May be your problem get resolved at this step.

  1. Step 2 also didn't help in my case, QT Creator still persist few settings and need to reset Qt creator settings. That can be done by deleting data in this folder

    ~/.config/QtProject ~/.config/Qt file ~/.config/QtProject.conf

path may be different in different System and OS. following links will be helpful in this case.

Creator FAQ

Stack Overflow Qt Settings 1

Stack Overflow Qt Settings 2

Now i am able to build and run android application.



回答4:

Thanks I had the same problem, using Debian Buster (sid) with QtCreator 4.6.2 with Qt5.10.1

Go into ~/.config and wipe all the qtcreator settings, then start again specifying jdk.8 then the paths to the Android SDK and then the NDK.

It then works and the dumb SDK platform not installed error does not occur. :)

Out of interest I tried wiping everything ~/.config/qtcreator* and then specifying jdk10. Does not work as before.

If you then change to jdk8, it still does not work. You have to close QtCreator, wipe all the configs, reopen and choose it again, whereon it will work.



回答5:

you do not need to wipe the configs for qt. simply install the latest of jdk 8 from here -> http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

next select the jdk location in the options and then toward the bottom select the sdk manager tab. Click the update installed button and it should show a window with a list of licenses you need to agree to.

The problem lies with jdk 9 and up. For some odd reason it doesn't show the license agreements and doesn't continue beyond that point. The fix is sticking with jdk8



回答6:

Platform SDK check seems to use the sdkmanager command line to list the available packages installed. This is $ANDROID_SDK_ROOT/tools/bin/sdkmanager. On my Linux system this was in $HOME/Android/Sdk/tools/bin/sdkmanager.

Run the command line directly and if you see errors (typically Java errors), you need to fix those first. Like people have set, the typical issue is:

  • Java 8 is okay, but JDK 9 and JDK 10 don't appear to work with sdkmanager

Even if you did fix it for JDK 9 / 10 you may get issues compiling, so, your best bet is to downgrade to Java 8. Work thru any remaining issues with the sdkmanager command line, then, once that's done, you should find Qt Creator to be happy again.



回答7:

OK, after many many hours try-out I finally find out how we can fix it.

  • Download and use Android NDK r10e separately (don't install it through SDK Manager)
  • Download and use Android SDK without Android Studio (download android tools from official site) Qt Preferences will installs all needed packages (build tools , platform tools, sdk tools, platform android-28)
  • Install and use Java JDK 8 (not newer)

Please note that installing SDK packages through Android Studio will not be detectable by Qt