A guide to compile QGC Android

Hi I am new to QT and fairly new to programming as well. So sorry if I am not understanding the jargon. Now coming to the issue.
I am trying to compile the QgroundControl code for android.

Things I have done:
I have set up VDM in android studio
I have set up the android environment (JDK 21 NDK 21.3.6528147 SDK 11)

When compiling qmake and make steps seems to get excecuted properly without errors.
Problem is the Build Android APK
I have mostly followed all instructions in Overview · QGroundControl Developer Guide and the desktop version compiles no problem

I am really lost here, would be nice if anyone can help/point me to a helpful source

Yeah, good luck there. I’ve been trying to compile the android version for many months with only limited success.
Fact is the whole Android side is completely outdated:

  • Mismatch of Java version required from build to what is in use these days.
  • Outdated Gradle version.
  • Finally you’ll get a password related error when trying to build the APK package. (Once again due to mismatch of Java versions)

There are many such reports on here with some helpful answers but haven’t found anything providing full step by step guidance.

My own work-around:
Building Android version in QT until same error as you’ve got pops up. Then closing project and re-opening in Android Studio. This will usually trigger a Gradle upgrade which I proceed with and then finalize the APK build. - But sometimes the essential Android build package hasn’t been created in QT so this work-around won’t work either.

(Desktop versions build easier)

Hey Karl,

Thank you for your reply.
If you dont mind me asking what versions of everything you use to compile it after the gradle update.
Could you maybe post a picture of your preferences page and “build apk” details in QT

Thank you

The gradle update happens in Android Studio. From my experience don’t go past 7.6
(It starts with an upgrade to around 4.6, but if you refresh or re-load project it will offer to upgrade further)

My current QT was set to use Java 8 for the Android build kit as this was originally the requirement by QGC. However, I have, also managed to build with Java 11 (as currently stated in the QGC build instructions)

There are various versions of QGC (Android) already out there. Do you require your own build?

Yes, I need to do some modifications of the software and need that apk version. Have been trying for a week with no luck( but for now I am just trying to compile the stable daily build.) . Thank you for your settings ill try this out

I am sorry for disturbing.


I think I didn’t correctly use JDK 11 and ndk 19
I am now getting a new error in the make step.
But now I have JDK 11 and used Command line version 10 (only then JDK 11 works in QT)

the make step compiles successfully if NDK is set to version 21.

Any help is appreciated

Also replying to your previous comment . What do you mean reopen it in Android studio

In my case I did use NDK 21 as the 19 version keeps failing.
Both your screenshots indicate that you’ve used NDK 19. → Try NDK 21 instead.
Also stick with JDK 11 or no higher than 17.

Re. Android Studio:
I have also Android Studio installed and when the apk build fails in QT I close the project in Qt and start Android Studio and then load the project to finish apk build in there.

  • However, this only works if the Android build packages have been already created within QT.

Hey Karl,
I did what you said. compiled successfully but the apk didnt build on qt.
So I opened android studio, and I used the option import project(build.gradle …).
The android-build dir created a build.gradle file (so I assume this is how you import your project to android studio)

After which I was greeted by a java mismatch error which I managed to solve by installing newer gradle version 7.5 for this example.

Now I am getting this error seems to be related to line 37. Did you get this error ? Again many thanks


Looks to me that the Android Studio SDK hasn’t been installed as required.

But you could also google the error message and see what comes up. May just not be referenced internally in your OS.
If it is a Windows computer, have you re-started computer since installation of Android Studio?

Other than that looks like it is doing what it is supposed to do.

Great, I think you’re there.

I assume you are talking about crashing using the emulator ?

  • I’ve never managed to get any of my apk’s working on the emulator, but they all seem to work fine on an actual device. ( I think it’s due to the fact that QGC is trying to communicate with the com ports but those are not there in the emulator)

Re. second screenshot. I’ve noticed you’ve got your build set for API 25. This is only useful for devices running up to Android 7. → Recommend changing that to API 32 in your build settings. (More files will have to be downloaded, but once installed can be used for future builds.)

Did you pull from master or stable ? …I’ve got in the past caught out with the master when someone had made changes but didn’t do any testing after. → Perhaps better sticking with stable branch.

Re. error: I think its a rather minor thing and may be linked to what I was saying above in regards to master branch.
I had similar issue as well once and simply stuck an icon in that folder with the name the build is looking for. → Important: Just adding a file to a folder might not work. Within QT you may have to right click on build tree and then select "Add File/Folder to build tree.

I am unsure of this distinction. I usually use this

git clone --recursive -j8 https : // github. com/mavlink/qgroundcontrol.git

could you tell me where is the stable version ?

Yeah I’ll do this, Keeping the min api level to 7 should still make it work on Android 7 I assume.

This probably is the problem, I’ll try out on my remote and update.

To clone stable version:

git clone --recursive -j8 GitHub - mavlink/qgroundcontrol: Cross-platform ground control station for drones (Android, iOS, Mac OS, Linux, Windows) --single-branch --branch Stable_V4.3

Hey Karl,

Thank you for your help I was able to compile it and deploy it. Also I was able to run it on my virtual machine as well as my device. Since there is very less resource on how to compile I’ll give a summary of the way I did it.

  1. Install this package Version 5.15.2
    1
  2. Install Android Studio
  3. Configure Android environment in QT: How?
    i. Install JDK 11 - https://adoptium.net/temurin/releases/?arch=x64&package=jdk&version=11&os=windows and choose that location for JDK in QT
    ii For SDK location, go to SDK Manager in Android Studio copy the path shown there.
    iii Click Set up SDK and it will install necessary files required.
    If you have red after this follow this step
    open Android Studio> SDK Manager > SDK tools > (Check Show package Details ) > install Command line tools version 10.
    Go to the sdk folder>cmdline-tools> rename 10 to latest
    close qt open and it should work now (atleast it worked for me!)
  4. change your AndroidManifest.xml File inside QT
  5. Create a folder in your debug folder called ANDROID_PACKAGE_SOURCE_DIR and copy the androidManifest.xml file in there.
  6. Check the correct arch you need default is (arm v8)
  7. Now try to build, Hopefully it should run!
2 Likes

@Deathstroke69

I am also facing same issue, i am attempting to develop an application for both the Windows and Android platforms. The Windows build is functioning correctly; however, when I attempt to build it for Android, I encounter the following error:

/usr/bin/sh: line 1: C:UsersChris.LAppDataLocalAndroidSdkndk23.1.7779620/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++: No such file or directory

I have use following dependencies

SDK: 10.0
NDK: 21.3.6528147
JDK: jdk-11.0.22.7-hotspot
QGCS: 4.2.6 / 4.2.8
Qt: 5.15.2
Configuration: Android Multi ABI
Compilers: Android Clang (C, arm, NDK 21.3.6528147) and Android Clang (C++, arm, NDK 21.3.6528147)
Platform Linker Flag: -target arm-linux-androideabi
Build Device: Desktop
ABIs: arm64-v8a

10:40:54: Running steps for project qgroundcontrol…
10:40:54: Starting: “C:\Users\shankar.gholap\AppData\Local\Android\Sdk\ndk\23.1.7779620\prebuilt\windows-x86_64\bin\make.exe” clean -j4
rm -f arm64-v8a/qgc_az_AZ.qm arm64-v8a/qgc_json_az_AZ.qm arm64-v8a/qgc_json_bg_BG.qm arm64-v8a/qgc_json_de_DE.qm arm64-v8a/qgc_json_el_GR.qm arm64-v8a/qgc_json_es_ES.qm arm64-v8a/qgc_json_fi_FI.qm arm64-v8a/qgc_json_fr_FR.qm arm64-v8a/qgc_json_he_IL.qm arm64-v8a/qgc_json_it_IT.qm arm64-v8a/qgc_json_ja_JP.qm arm64-v8a/qgc_json_ko_KR.qm arm64-v8a/qgc_json_nl_NL.qm arm64-v8a/qgc_json_no_NO.qm arm64-v8a/qgc_json_pl_PL.qm arm64-v8a/qgc_json_pt_PT.qm arm64-v8a/qgc_json_ru_RU.qm arm64-v8a/qgc_json_sv_SE.qm arm64-v8a/qgc_json_tr_TR.qm arm64-v8a/qgc_json_zh_CN.qm arm64-v8a/qgc_source_az_AZ.qm arm64-v8a/qgc_source_bg_BG.qm arm64-v8a/qgc_source_de_DE.qm arm64-v8a/qgc_source_el_GR.qm arm64-v8a/qgc_source_es_ES.qm arm64-v8a/qgc_source_fi_FI.qm arm64-v8a/qgc_source_fr_FR.qm arm64-v8a/qgc_source_he_IL.qm arm64-v8a/qgc_source_it_IT.qm arm64-v8a/qgc_source_ja_JP.qm arm64-v8a/qgc_source_ko_KR.qm arm64-v8a/qgc_source_nl_NL.qm arm64-v8a/qgc_source_no_NO.qm arm64-v8a/qgc_source_pl_PL.qm arm64-v8a/qgc_source_pt_PT.qm arm64-v8a/qgc_source_ru_RU.qm arm64-v8a/qgc_source_sv_SE.qm arm64-v8a/qgc_source_tr_TR.qm arm64-v8a/qgc_source_zh_CN.qm
rm -f arm64-v8a/qrc_qgroundcontrol.cpp arm64-v8a/qrc_qgroundcontrol.tmp.obj arm64-v8a/qrc_qgcresources.cpp arm64-v8a/qrc_qgcresources.tmp.obj arm64-v8a/qrc_qgcimages.cpp arm64-v8a/qrc_qgcimages.tmp.obj arm64-v8a/qrc_InstrumentValueIcons.cpp arm64-v8a/qrc_InstrumentValueIcons.tmp.obj arm64-v8a/qrc_UnitTest.cpp arm64-v8a/qrc_UnitTest.tmp.obj arm64-v8a/qrc_APMResources.cpp arm64-v8a/qrc_APMResources.tmp.obj arm64-v8a/qrc_PX4Resources.cpp arm64-v8a/qrc_PX4Resources.tmp.obj arm64-v8a/qrc_airmap_dummy.cpp arm64-v8a/qrc_airmap_dummy.tmp.obj arm64-v8a/qrc_qmake_qmake_qm_files.cpp arm64-v8a/qrc_qmake_qmake_qm_files.tmp.obj
rm -f arm64-v8a/moc_predefs.h
rm -f arm64-v8a/moc_QGCMapEngine.cpp arm64-v8a/moc_QGCMapEngineData.cpp arm64-v8a/moc_QGCMapTileSet.cpp arm64-v8a/moc_QGCMapUrlEngine.cpp arm64-v8a/moc_QGCTileCacheWorker.cpp arm64-v8a/moc_QGeoCodeReplyQGC.cpp arm64-v8a/moc_QGeoCodingManagerEngineQGC.cpp arm64-v8a/moc_QGeoMapReplyQGC.cpp arm64-v8a/moc_QGeoServiceProviderPluginQGC.cpp arm64-v8a/moc_QGeoTileFetcherQGC.cpp arm64-v8a/moc_QGeoTiledMappingManagerEngineQGC.cpp arm64-v8a/moc_MapProvider.cpp arm64-v8a/moc_ElevationMapProvider.cpp arm64-v8a/moc_GoogleMapProvider.cpp arm64-v8a/moc_BingMapProvider.cpp arm64-v8a/moc_GenericMapProvider.cpp arm64-v8a/moc_EsriMapProvider.cpp arm64-v8a/moc_MapboxMapProvider.cpp arm64-v8a/moc_browser_p.cpp arm64-v8a/moc_cache_p.cpp arm64-v8a/moc_hostname_p.cpp arm64-v8a/moc_prober_p.cpp arm64-v8a/moc_provider_p.cpp arm64-v8a/moc_resolver_p.cpp arm64-v8a/moc_server_p.cpp arm64-v8a/moc_abstractserver.cpp arm64-v8a/moc_browser.cpp arm64-v8a/moc_cache.cpp arm64-v8a/moc_hostname.cpp arm64-v8a/moc_prober.cpp arm64-v8a/moc_provider.cpp arm64-v8a/moc_resolver.cpp arm64-v8a/moc_server.cpp arm64-v8a/moc_QmlUnitsConversion.cpp arm64-v8a/moc_VehicleEscStatusFactGroup.cpp arm64-v8a/moc_QGCCorePlugin.cpp arm64-v8a/moc_QGCOptions.cpp arm64-v8a/moc_QGCSettings.cpp arm64-v8a/moc_QmlComponentInfo.cpp arm64-v8a/moc_ADSBVehicle.cpp arm64-v8a/moc_ADSBVehicleManager.cpp arm64-v8a/moc_LogDownloadController.cpp arm64-v8a/moc_MavlinkConsoleController.cpp arm64-v8a/moc_AudioOutput.cpp arm64-v8a/moc_Autotune.cpp arm64-v8a/moc_QGCCameraControl.cpp arm64-v8a/moc_QGCCameraManager.cpp arm64-v8a/moc_FollowMe.cpp arm64-v8a/moc_Joystick.cpp arm64-v8a/moc_JoystickManager.cpp arm64-v8a/moc_KMLHelper.cpp arm64-v8a/moc_LogCompressor.cpp arm64-v8a/moc_CameraCalc.cpp arm64-v8a/moc_CameraSection.cpp arm64-v8a/moc_CameraSpec.cpp arm64-v8a/moc_ComplexMissionItem.cpp arm64-v8a/moc_CorridorScanComplexItem.cpp arm64-v8a/moc_CorridorScanPlanCreator.cpp arm64-v8a/moc_BlankPlanCreator.cpp arm64-v8a/moc_FixedWingLandingComplexItem.cpp arm64-v8a/moc_GeoFenceController.cpp
rm -f arm64-v8a/moc_GeoFenceManager.cpp arm64-v8a/moc_LandingComplexItem.cpp arm64-v8a/moc_MissionCommandList.cpp arm64-v8a/moc_MissionCommandTree.cpp arm64-v8a/moc_MissionCommandUIInfo.cpp arm64-v8a/moc_MissionController.cpp arm64-v8a/moc_MissionItem.cpp
.
.
.
.
.
arm64-v8a/moc_FlyViewSettings.obj arm64-v8a/moc_OfflineMapsSettings.obj arm64-v8a/moc_PlanViewSettings.obj arm64-v8a/moc_RTKSettings.obj arm64-v8a/moc_SettingsGroup.obj arm64-v8a/moc_SettingsManager.obj arm64-v8a/moc_UnitsSettings.obj arm64-v8a/moc_VideoSettings.obj arm64-v8a/moc_ShapeFileHelper.obj arm64-v8a/moc_SHPFileHelper.obj arm64-v8a/moc_TerrainQuery.obj arm64-v8a/moc_ActuatorActions.obj arm64-v8a/moc_Actuators.obj arm64-v8a/moc_ActuatorOutputs.obj arm64-v8a/moc_ActuatorTesting.obj arm64-v8a/moc_Common.obj arm64-v8a/moc_Mixer.obj arm64-v8a/moc_MotorAssignment.obj arm64-v8a/moc_CompInfo.obj arm64-v8a/moc_CompInfoActuators.obj arm64-v8a/moc_CompInfoEvents.obj arm64-v8a/moc_CompInfoParam.obj arm64-v8a/moc_CompInfoGeneral.obj arm64-v8a/moc_ComponentInformationCache.obj arm64-v8a/moc_ComponentInformationManager.obj arm64-v8a/moc_EventHandler.obj arm64-v8a/moc_FTPManager.obj arm64-v8a/moc_GPSRTKFactGroup.obj arm64-v8a/moc_HealthAndArmingChecks.obj arm64-v8a/moc_ImageProtocolManager.obj arm64-v8a/moc_InitialConnectStateMachine.obj arm64-v8a/moc_MAVLinkLogManager.obj arm64-v8a/moc_MultiVehicleManager.obj arm64-v8a/moc_StateMachine.obj arm64-v8a/moc_SysStatusSensorInfo.obj arm64-v8a/moc_TerrainFactGroup.obj arm64-v8a/moc_TerrainProtocolHandler.obj arm64-v8a/moc_TrajectoryPoints.obj arm64-v8a/moc_Vehicle.obj arm64-v8a/moc_VehicleObjectAvoidance.obj arm64-v8a/moc_VehicleBatteryFactGroup.obj arm64-v8a/moc_VehicleClockFactGroup.obj arm64-v8a/moc_VehicleDistanceSensorFactGroup.obj arm64-v8a/moc_VehicleEstimatorStatusFactGroup.obj arm64-v8a/moc_VehicleLocalPositionFactGroup.obj arm64-v8a/moc_VehicleLocalPositionSetpointFactGroup.obj arm64-v8a/moc_VehicleGPSFactGroup.obj arm64-v8a/moc_VehicleGPS2FactGroup.obj arm64-v8a/moc_VehicleLinkManager.obj arm64-v8a/moc_VehicleSetpointFactGroup.obj arm64-v8a/moc_VehicleTemperatureFactGroup.obj arm64-v8a/moc_VehicleVibrationFactGroup.obj arm64-v8a/moc_VehicleWindFactGroup.obj arm64-v8a/moc_VehicleHygrometerFactGroup.obj arm64-v8a/moc_JoystickConfigController.obj arm64-v8a/moc_LinkConfiguration.obj arm64-v8a/moc_LinkInterface.obj arm64-v8a/moc_LinkManager.obj arm64-v8a/moc_LogReplayLink.obj arm64-v8a/moc_MAVLinkProtocol.obj arm64-v8a/moc_QGCMAVLink.obj arm64-v8a/moc_TCPLink.obj arm64-v8a/moc_UDPLink.obj arm64-v8a/moc_UdpIODevice.obj arm64-v8a/moc_UAS.obj arm64-v8a/moc_UASInterface.obj arm64-v8a/moc_UASMessageHandler.obj arm64-v8a/moc_GeoTagController.obj arm64-v8a/moc_MockLink.obj arm64-v8a/moc_MockLinkFTP.obj arm64-v8a/moc_MockLinkMissionItemHandler.obj arm64-v8a/moc_BluetoothLink.obj arm64-v8a/moc_SerialLink.obj arm64-v8a/moc_AutoPilotPlugin.obj arm64-v8a/moc_ESP8266Component.obj arm64-v8a/moc_ESP8266ComponentController.obj arm64-v8a/moc_MotorComponent.obj arm64-v8a/moc_RadioComponentController.obj arm64-v8a/moc_SyslinkComponent.obj arm64-v8a/moc_SyslinkComponentController.obj arm64-v8a/moc_GenericAutoPilotPlugin.obj arm64-v8a/moc_CameraMetaData.obj arm64-v8a/moc_FirmwarePlugin.obj arm64-v8a/moc_FirmwarePluginManager.obj arm64-v8a/moc_VehicleComponent.obj arm64-v8a/moc_APMMavlinkStreamRateSettings.obj arm64-v8a/moc_APMAirframeComponent.obj arm64-v8a/moc_APMAirframeComponentController.obj arm64-v8a/moc_APMAutoPilotPlugin.obj arm64-v8a/moc_APMCameraComponent.obj arm64-v8a/moc_APMCompassCal.obj arm64-v8a/moc_APMFlightModesComponent.obj arm64-v8a/moc_APMFlightModesComponentController.obj arm64-v8a/moc_APMFollowComponent.obj arm64-v8a/moc_APMFollowComponentController.obj arm64-v8a/moc_APMHeliComponent.obj arm64-v8a/moc_APMLightsComponent.obj arm64-v8a/moc_APMSubFrameComponent.obj arm64-v8a/moc_APMMotorComponent.obj arm64-v8a/moc_APMPowerComponent.obj arm64-v8a/moc_APMRadioComponent.obj arm64-v8a/moc_APMSafetyComponent.obj arm64-v8a/moc_APMSensorsComponent.obj arm64-v8a/moc_APMSensorsComponentController.obj arm64-v8a/moc_APMSubMotorComponentController.obj arm64-v8a/moc_APMTuningComponent.obj arm64-v8a/moc_APMFirmwarePlugin.obj arm64-v8a/moc_APMParameterMetaData.obj arm64-v8a/moc_ArduCopterFirmwarePlugin.obj arm64-v8a/moc_ArduPlaneFirmwarePlugin.obj arm64-v8a/moc_ArduRoverFirmwarePlugin.obj arm64-v8a/moc_ArduSubFirmwarePlugin.obj arm64-v8a/moc_APMFirmwarePluginFactory.obj arm64-v8a/moc_ActuatorComponent.obj arm64-v8a/moc_AirframeComponent.obj arm64-v8a/moc_AirframeComponentController.obj arm64-v8a/moc_CameraComponent.obj arm64-v8a/moc_FlightModesComponent.obj arm64-v8a/moc_PX4AdvancedFlightModesController.obj arm64-v8a/moc_PX4AirframeLoader.obj arm64-v8a/moc_PX4AutoPilotPlugin.obj arm64-v8a/moc_PX4FlightBehavior.obj arm64-v8a/moc_PX4RadioComponent.obj arm64-v8a/moc_PX4SimpleFlightModesController.obj arm64-v8a/moc_PX4TuningComponent.obj arm64-v8a/moc_PowerComponent.obj arm64-v8a/moc_PowerComponentController.obj arm64-v8a/moc_SafetyComponent.obj arm64-v8a/moc_SensorsComponent.obj arm64-v8a/moc_SensorsComponentController.obj arm64-v8a/moc_PX4FirmwarePlugin.obj arm64-v8a/moc_PX4ParameterMetaData.obj arm64-v8a/moc_PX4FirmwarePluginFactory.obj arm64-v8a/moc_Fact.obj arm64-v8a/moc_FactPanelController.obj arm64-v8a/moc_FactGroup.obj arm64-v8a/moc_FactMetaData.obj arm64-v8a/moc_FactSystem.obj arm64-v8a/moc_FactValueSliderListModel.obj arm64-v8a/moc_ParameterManager.obj arm64-v8a/moc_SettingsFact.obj arm64-v8a/moc_MAVLinkInspectorController.obj arm64-v8a/moc_AirspaceManager.obj arm64-v8a/moc_SubtitleWriter.obj arm64-v8a/moc_VideoManager.obj arm64-v8a/moc_GLVideoItemStub.obj arm64-v8a/moc_VideoReceiver.obj
rm -f *~ core *.core
10:40:55: The process “C:\Users\shankar.gholap\AppData\Local\Android\Sdk\ndk\23.1.7779620\prebuilt\windows-x86_64\bin\make.exe” exited normally.
10:40:55: Starting: “D:\Software\Qt\5.15.2\android\bin\qmake.exe” D:\Projects\AewaGCS4.2.6\qgroundcontrol\qgroundcontrol.pro -spec android-clang “CONFIG+=debug” “CONFIG+=qml_debug” ANDROID_ABIS=“arm64-v8a”
which: no ccache in (/c/Program Files/Eclipse Adoptium/jdk-11.0.22.7-hotspot/bin:/d/Software/Qt/5.15.2/android/bin:/c/Users/shankar.gholap/AppData/Local/Android/Sdk/ndk/23.1.7779620/toolchains/llvm/prebuilt/windows-x86_64/bin:/usr/bin:/c/Program Files/Common Files/Oracle/Java/javapath:/c/Program Files (x86)/Common Files/Oracle/Java/javapath:/c/Windows/system32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0:/c/Windows/System32/OpenSSH:/c/Program Files (x86)/MAVProxy:/cmd:/c/Program Files/nodejs:/c/Program Files/TortoiseGit/bin:/c/Program Files (x86)/Windows Kits/10/Windows Performance Toolkit:/c/Program Files (x86)/MAVProxy:/c/Program Files (x86)/Dr. Memory/bin:/d/DISABLED_Programs/coreutils-5.3.0-bin/bin:/c/Program Files/Microsoft Visual Studio/2022/Community/VC/Auxiliary/Build:/c/Qt/5.15.2/msvc2019_64/bin:/c/Qt/Tools/QtCreator/bin/jom:/c/Users/shankar.gholap/AppData/Local/Android/Sdk/cmdline-tools/latest/bin:/c/Users/shankar.gholap/AppData/Local/Android/Sdk/platform-tools:/c/Users/shankar.gholap/AppData/Local/Android/Sdk/build-tools/34.0.0:/c/Users/shankar.gholap/AppData/Local/Android/Sdk/platforms/android-34:/c/Users/shankar.gholap/AppData/Local/Android/Sdk/ndk/26.1.10909125:/c/Program Files (x86)/ZeroTier/One:/c/Program Files/Microsoft SQL Server/150/Tools/Binn:/c/Program Files/Microsoft SQL Server/Client SDK/ODBC/170/Tools/Binn:/c/Program Files/dotnet:/c/Users/shankar.gholap/AppData/Local/Programs/Python/Python311/Scripts:/c/Users/shankar.gholap/AppData/Local/Programs/Python/Python311:/c/Users/shankar.gholap/AppData/Local/Microsoft/WindowsApps:/c/Users/shankar.gholap/AppData/Local/Programs/Git/cmd:/c/Users/shankar.gholap/AppData/Local/GitHubDesktop/bin:/c/src/flutter/bin:/c/Users/shankar.gholap/AppData/Local/Programs/Microsoft VS Code/bin:/c/Users/shankar.gholap/AppData/Roaming/npm:/c/Program Files (x86)/Dr. Memory/bin:/c/Users/shankar.gholap/AppData/Local/JetBrains/Toolbox/scripts)
which: no ccache in (/c/Program Files/Eclipse Adoptium/jdk-11.0.22.7-hotspot/bin:/d/Software/Qt/5.15.2/android/bin:/c/Users/shankar.gholap/AppData/Local/Android/Sdk/ndk/23.1.7779620/toolchains/llvm/prebuilt/windows-x86_64/bin:/usr/bin:/c/Program Files/Common Files/Oracle/Java/javapath:/c/Program Files (x86)/Common Files/Oracle/Java/javapath:/c/Windows/system32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0:/c/Windows/System32/OpenSSH:/c/Program Files (x86)/MAVProxy:/cmd:/c/Program Files/nodejs:/c/Program Files/TortoiseGit/bin:/c/Program Files (x86)/Windows Kits/10/Windows Performance Toolkit:/c/Program Files (x86)/MAVProxy:/c/Program Files (x86)/Dr. Memory/bin:/d/DISABLED_Programs/coreutils-5.3.0-bin/bin:/c/Program Files/Microsoft Visual Studio/2022/Community/VC/Auxiliary/Build:/c/Qt/5.15.2/msvc2019_64/bin:/c/Qt/Tools/QtCreator/bin/jom:/c/Users/shankar.gholap/AppData/Local/Android/Sdk/cmdline-tools/latest/bin:/c/Users/shankar.gholap/AppData/Local/Android/Sdk/platform-tools:/c/Users/shankar.gholap/AppData/Local/Android/Sdk/build-tools/34.0.0:/c/Users/shankar.gholap/AppData/Local/Android/Sdk/platforms/android-34:/c/Users/shankar.gholap/AppData/Local/Android/Sdk/ndk/26.1.10909125:/c/Program Files (x86)/ZeroTier/One:/c/Program Files/Microsoft SQL Server/150/Tools/Binn:/c/Program Files/Microsoft SQL Server/Client SDK/ODBC/170/Tools/Binn:/c/Program Files/dotnet:/c/Users/shankar.gholap/AppData/Local/Programs/Python/Python311/Scripts:/c/Users/shankar.gholap/AppData/Local/Programs/Python/Python311:/c/Users/shankar.gholap/AppData/Local/Microsoft/WindowsApps:/c/Users/shankar.gholap/AppData/Local/Programs/Git/cmd:/c/Users/shankar.gholap/AppData/Local/GitHubDesktop/bin:/c/src/flutter/bin:/c/Users/shankar.gholap/AppData/Local/Programs/Microsoft VS Code/bin:/c/Users/shankar.gholap/AppData/Roaming/npm:/c/Program Files (x86)/Dr. Memory/bin:/c/Users/shankar.gholap/AppData/Local/JetBrains/Toolbox/scripts)
Project MESSAGE: Qt version 5.15.2
Project MESSAGE: Android Arm 64 bit build
Project MESSAGE: Daily Build
Project MESSAGE: GIT_DESCRIBE v4.2.6
Project MESSAGE: QGroundControl APP_VERSION_STR VERSION v4.2.6 4.2.6
Project MESSAGE: VERSION 4.2.6
Project MESSAGE: Android version info: 664206000 bitness:66 major:4 minor:2 patch:06 dev:000
Project MESSAGE: Debug flavor
Project MESSAGE: Skipping support for Pairing
Project MESSAGE: Using MAVLink dialect ‘ardupilotmega’.
Project MESSAGE: ANDROID_EXTRA_LIBS
Project MESSAGE: arm64-v8a
Project MESSAGE: D:/Projects/AewaGCS4.2.6/qgroundcontrol/libs/OpenSSL/android_openssl/arm64/libcrypto.so D:/Projects/AewaGCS4.2.6/qgroundcontrol/libs/OpenSSL/android_openssl/arm64/libssl.so
Project MESSAGE: Skipping support for Zeroconf (unsupported platform)
Project MESSAGE: Including support for AirMap
Project MESSAGE: Skipping support for Airmap (unsupported platform)
Project MESSAGE: Taisync disabled
Project MESSAGE: Microhard disabled
Project MESSAGE: Skipping support for video streaming (GStreamer libraries not installed)
Project MESSAGE: Installation instructions here: qgroundcontrol/src/VideoReceiver/README.md at 73b948b40e939db9c93454c0f232d926c46adfc3 · mavlink/qgroundcontrol · GitHub
Project MESSAGE: Adding Serial Java Classes
Project MESSAGE: This project is using private headers and will therefore be tied to this specific Qt module build version.
Project MESSAGE: Running this project against other versions of the Qt modules may crash at any arbitrary point.
Project MESSAGE: This is not a bug, but a result of using Qt internals. You have been warned!
Project MESSAGE: Qt version 5.15.2
Project MESSAGE: Android Arm 64 bit build
Project MESSAGE: Daily Build
Project MESSAGE: GIT_DESCRIBE v4.2.6
Project MESSAGE: QGroundControl APP_VERSION_STR VERSION v4.2.6 4.2.6
Project MESSAGE: VERSION 4.2.6
Project MESSAGE: Android version info: 664206000 bitness:66 major:4 minor:2 patch:06 dev:000
Project MESSAGE: Debug flavor
Project MESSAGE: Skipping support for Pairing
Project MESSAGE: Using MAVLink dialect ‘ardupilotmega’.
Project MESSAGE: ANDROID_EXTRA_LIBS
Project MESSAGE: arm64-v8a
Project MESSAGE: D:/Projects/AewaGCS4.2.6/qgroundcontrol/libs/OpenSSL/android_openssl/arm64/libcrypto.so D:/Projects/AewaGCS4.2.6/qgroundcontrol/libs/OpenSSL/android_openssl/arm64/libssl.so
Project MESSAGE: Skipping support for Zeroconf (unsupported platform)
Project MESSAGE: Including support for AirMap
Project MESSAGE: Skipping support for Airmap (unsupported platform)
Project MESSAGE: Taisync disabled
Project MESSAGE: Microhard disabled
Project MESSAGE: Skipping support for video streaming (GStreamer libraries not installed)
Project MESSAGE: Installation instructions here: qgroundcontrol/src/VideoReceiver/README.md at 73b948b40e939db9c93454c0f232d926c46adfc3 · mavlink/qgroundcontrol · GitHub
Project MESSAGE: Adding Serial Java Classes
10:41:03: The process “D:\Software\Qt\5.15.2\android\bin\qmake.exe” exited normally.
10:41:03: Starting: “C:\Users\shankar.gholap\AppData\Local\Android\Sdk\ndk\23.1.7779620\prebuilt\windows-x86_64\bin\make.exe” -f D:/Projects/AewaGCS4.2.6/build/Makefile qmake_all
make: Nothing to be done for ‘qmake_all’.
10:41:04: The process “C:\Users\shankar.gholap\AppData\Local\Android\Sdk\ndk\23.1.7779620\prebuilt\windows-x86_64\bin\make.exe” exited normally.
10:41:04: Starting: “C:\Users\Chris.L\AppData\Local\Android\Sdk\ndk\23.1.7779620\prebuilt\windows-x86_64\bin\make.exe” -j4
rcc D:/Projects/AewaGCS4.2.6/qgroundcontrol/qgroundcontrol.qrc
/usr/bin/sh: line 1: C:UsersChris.LAppDataLocalAndroidSdkndk23.1.7779620/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++: No such file or directory
make: *** [Makefile:2413: arm64-v8a/qrc_qgroundcontrol.obj] Error 127
10:41:05: The process “C:\Users\Chris.L\AppData\Local\Android\Sdk\ndk\23.1.7779620\prebuilt\windows-x86_64\bin\make.exe” exited with code 2.
Error while building/deploying project qgroundcontrol (kit: Android Qt 5.15.2 Clang Multi-Abi)
When executing step “Make”
10:41:05: Elapsed time: 00:11.


Hi @Deathstroke69
Been reading up your post on QGC for Android. I am new to QGC and Qt. I want to disable a few parameters for the qgc android app but firstly, I am unable to build it on Qt. Using QT 6.6.1 as given on their website with JDK 21. The desktop app builds just fine. Initially got a lot of errors for not giving the r/w permission to certain folder paths. I have attached the error I am getting now. Could you help me out with this in case you have come across the same?

@Deathstroke69
Till step 3 I have done the setup.
I am not able to understand point 4 which is “change your AndroidManifest.xml File inside QT” – what I have to change here?

Regarding Point 5 - This folder is already getting created with Androidmanifest.xml file.

For me a different kind of error is coming.
I dont know why the path for toolchains is corrupted.

/usr/bin/bash: line 1: C:UsersmeAppDataLocalAndroidSdkndk21.3.6528147/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++: No such file or directory

Attaching the