Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restore support for Qt 6.6.3 and Android 7.1 #12457

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

rubenp02
Copy link
Contributor

Restore support for Qt 6.6.3 and Android 7.1

Description

Restored support for Qt 6.6.3 while preserving the existing build configuration for the primary supported Qt version (6.8.2). Changed the min. Android SDK version to 25 when the Qt version supports it. This allows targeting Android 7.1-based GCS such as the CubePilot Herelink or the SkyDroid H16.

Key changes:

  • Lowered the QGC_QT_MINIMUM_VERSION CMake variable to 6.6.3, the latest Qt version compatible with Android 7.1.
  • Disabled the CMake features introduced in Qt versions 6.7 and 6.8 when configuring the project for Qt 6.6.3.
  • Updated build.gradle to utilize qtGradlePluginType only when available.
  • Reintroduced the "package" attribute in AndroidManifest.xml, which is necessary for Qt 6.6.3 but non-disruptive for the main supported version.

Checklist:

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Restored support for Qt 6.6.3 while preserving the existing build
configuration for the primary supported Qt version (6.8.2). Changed the
min. Android SDK version to 25 when the Qt version supports it. This
allows targeting Android 7.1-based GCS such as the CubePilot Herelink or
the SkyDroid H16.

Key changes:
- Lowered the QGC_QT_MINIMUM_VERSION CMake variable to 6.6.3, the latest
  Qt version compatible with Android 7.1.
- Disabled the CMake features introduced in Qt versions 6.7 and 6.8 when
  configuring the project for Qt 6.6.3.
- Updated build.gradle to utilize qtGradlePluginType only when
  available.
- Reintroduced the "package" attribute in AndroidManifest.xml, which is
  necessary for Qt 6.6.3 but non-disruptive for the main supported
  version.
@rubenp02
Copy link
Contributor Author

Not sure if you're interested in merging this, and my guess is that probably not, but it restores support for popular Android GCS like the Herelink and the SkyDroid H16. My hope is that 5.0 can be compatible with them out of the box, without messy patches.

@HTRamsey
Copy link
Collaborator

Yeah I think it's fine until we have to start checking Qt versions in the code all over the place. But we aren't using anything introduced in Qt6.8 yet, except for maybe QtMultimedia related stuff

@DonLakeFlyer
Copy link
Contributor

For my current version of Herelink I just downgraded the min sdk version and still use 6.8: https://github.com/DonLakeFlyer/Herelink-QGC/blob/master/custom/cmake/CustomOverrides.cmake

Why not do that instead?

@rubenp02
Copy link
Contributor Author

But looking at the CMake and the GitHub workflows you're using Qt 6.6.3, no? Or am I missing something? AFAIK Qt 6.8 just doesn't support Android SDK 25.

@DonLakeFlyer
Copy link
Contributor

Sorry, I'm confused as to where we ended up. I can't remember the driver to move from 6.6.3 to 6.8. I think because 6.8 was LTS maybe? But LTS doesn't help us that much since open source doesn't get LTS updates anyway?

In general I'd rather pick a Qt version and use that for everything. Is there good reason to move to 6.8 from 6.6?

@HTRamsey
Copy link
Collaborator

I recall one reason was supporting Arm based desktop builds

@DonLakeFlyer
Copy link
Contributor

DonLakeFlyer commented Feb 16, 2025

Hmm, yeah. Useful. Maybe I'm overreacting to supporting multiple Qt. In reality the downgrade is just for things like Herelink/Skydroid. If it works it works. How about if we only allowed downgrade for android builds and messaged usage for Herelink/Skydroid situations? That limits exposure on desktop.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants