Skip to content

Conversation

@mcleinman
Copy link
Collaborator

@mcleinman mcleinman commented Aug 19, 2025

While this builds on my machine™️, I haven't done the work to make TaskCluster happy. More worrisome, there is a runtime crash on launch, occuring as soon as something C++ tries to grab the Android context. I'm going to put this down for a bit and come back to it, but for posterity:

Yet to do

  • Get it working without runtime errors
  • Set this up as qt-next on taskcluster, keep prior and subsequent Android build around

Thoughts

  • Can I get rid of the qtbindings module and see what happens, since the actual Qt stuff should be coming in via other means?
  • Drastic, but I could just reduce the number of Android modules. Would that help?

A partial list of things I've tried, but didn't fix the run time crash:
- [ ] Tried a new class like AppContextHolder (different one for both daemon and main app), and getting that initialized first, before anything else. That didn’t help.
- [ ] Tried expiclity adding Qt::Core to src/CmakeLists.txt with the other ones - didn’t help
- [ ] I checked the combined manifest file. It was being combined just fine.
- [ ] In VPNActivity.java, confirmed the onCreate activity was the same one being used in onResume via System.identityHashCode(this), and so we weren’t accidentally creating a new one each time or something
- [ ] Changed android:launchmode in Manifest file from “singleTop” to “singleTask”
- [ ] Added in PRE_LINK into the ndk_openssl_merged command in android_openssl.cmake - didn’t help
- [ ] Commenting out QNetworkInformation::loadDefaultBackend(); gets it a little bit further than otherwise, but only because it skips what the first crash would be.
- [ ] Commented out removeUnusedEntriesAfterDays = 30 (from android/settings.gradle). Don’t remember why - maybe there was a warning?
- [ ] Removing RESOURCE_PREFIX /qt/qml from src/ui/CMakeLists.txt, as there is a comment about removing that once we only compile with it
- [ ] Android/common/build.gradle has 2 entries under dependencies of implementation project(path: ':qtBindings’). Removing one of them doesn’t change anything.
- [ ] Added implementation fileTree(dir: '../libs', include: ['*.jar', '*.aar’]) under dependencies in android/common/build.gradle (Why? Probably something I saw online. Don’t remember.)
- [ ] Including repositories { flatDir { dirs($rootDir/libs) } } in android/common/build.gradle and android/vpnClient/build.gradle
- [ ] Using a namespace of 'org.mozilla.firefox.vpn' for vpnClient
- [ ] Upping the compileSdkVersion and targetSdkVersion to 35 (and making a few other small adjustments so things compile), and seeing if that fixes everything (it doesn’t)
- [ ] I believe we shouldn’t be using QtApplicationBase/QtActivityBase - should use the derived class (in my PR)
- [ ] ClientCommon was never used and was throwing warnings, so I removed it


Description

Describe your changes

Reference

i.e Jira or Github issue URL

Checklist

  • My code follows the style guidelines for this project
  • I have not added any packages that contain high risk or unknown licenses (GPL, LGPL, MPL, etc. consult with DevOps if in question)
  • I have performed a self review of my own code
  • I have commented my code PARTICULARLY in hard to understand areas
  • I have added thorough tests where needed

@mcleinman mcleinman marked this pull request as draft September 3, 2025 23:14
@mcleinman mcleinman changed the title IGNORE - server build VPN-6766 - Android Qt 6.9 Sep 3, 2025
@strseb strseb force-pushed the vpn-6766-android-qt-6.9 branch from 42476a8 to a87bf24 Compare September 17, 2025 19:17
@strseb strseb force-pushed the vpn-6766-android-qt-6.9 branch from a87bf24 to d6033b4 Compare September 17, 2025 20:07
@strseb strseb marked this pull request as ready for review September 23, 2025 18:09
@strseb strseb requested a review from a team as a code owner September 23, 2025 18:09
@strseb strseb requested review from hneiva and removed request for a team September 23, 2025 18:09
Copy link
Collaborator

@hneiva hneiva left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

changes under taskcluster/ LGTM

@mcleinman mcleinman force-pushed the vpn-6766-android-qt-6.9 branch 2 times, most recently from 5058a43 to 66098ce Compare October 30, 2025 18:09
@mcleinman mcleinman force-pushed the vpn-6766-android-qt-6.9 branch from 66098ce to 5a4f6ac Compare October 30, 2025 18:12
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.

4 participants