Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
261 commits
Select commit Hold shift + click to select a range
288cb39
kind of works (no unhandled frames)
cagnulein Dec 31, 2024
1946b46
it works!
cagnulein Jan 1, 2025
2bdbeed
wahoo rgt setting is not useful anymore
cagnulein Jan 1, 2025
730c16f
dircon works perfectly on ios!
cagnulein Jan 1, 2025
8604896
improving wattage also for all bluetooth, but it's not perfect yet
cagnulein Jan 1, 2025
316c342
Merge branch 'master' into victory-dircon
cagnulein Jan 7, 2025
de77f2a
Horizon 5.0 Bike Compatibility #3001
cagnulein Jan 7, 2025
71cb562
Update characteristicwriteprocessor0003.h
cagnulein Jan 7, 2025
6b8bb96
Merge branch 'master' into victory-dircon
cagnulein Jan 20, 2025
3ceb256
Update dirconmanager.cpp
cagnulein Jan 20, 2025
0a017ca
Merge branch 'master' into victory-dircon
cagnulein Jan 31, 2025
e75a5bc
Merge branch 'victory-dircon' of https://github.com/cagnulein/qdomyos…
cagnulein Jan 31, 2025
f32ad41
Merge branch 'master' into victory-dircon
cagnulein Jan 31, 2025
6e141bf
Update fakebike.cpp
cagnulein Jan 31, 2025
d8b1dce
Merge branch 'victory-dircon' of https://github.com/cagnulein/qdomyos…
cagnulein Jan 31, 2025
a3a8825
simulating a fake cadence randomly
cagnulein Feb 1, 2025
8380827
Merge branch 'master' into victory-dircon
cagnulein Feb 10, 2025
7af98b4
handling unhandled case
cagnulein Feb 10, 2025
6b674be
Merge remote-tracking branch 'origin/master' into victory-dircon
cagnulein Feb 15, 2025
c3fa231
Log on Thread
cagnulein Feb 15, 2025
999ce80
Update project.pbxproj
cagnulein Feb 15, 2025
7c73975
Merge branch 'master' into victory-dircon
cagnulein Feb 18, 2025
957d293
fixing gears on startup alinged with zwift
cagnulein Feb 18, 2025
cfcf86a
Update dirconmanager.cpp
cagnulein Feb 18, 2025
df8ac18
Merge branch 'master' into victory-dircon
cagnulein Feb 19, 2025
d2ba73b
Merge branch 'master' into victory-dircon
cagnulein Feb 19, 2025
206e6e6
Gears don't work for mid-work free ride segment (Issue #2897)
cagnulein Feb 24, 2025
26effcd
Merge branch 'master' into victory-dircon
cagnulein Feb 26, 2025
344640f
Update project.pbxproj
cagnulein Feb 26, 2025
0ec7619
fixing bluetooth on ios with get gears from zwift enabled
cagnulein Feb 26, 2025
937f98c
fixing bluetooth with get gears on on android? not tested
cagnulein Feb 26, 2025
fbb9524
Merge branch 'master' into victory-dircon
cagnulein Feb 26, 2025
69b2273
fixing build
cagnulein Feb 26, 2025
e69ddb8
Merge branch 'master' into victory-dircon
cagnulein Feb 27, 2025
68337ee
Update project.pbxproj
cagnulein Feb 27, 2025
3f39053
Merge branch 'master' into qt6
cagnulein Feb 28, 2025
34c74d4
fixing build errors on msvc
cagnulein Feb 28, 2025
299c175
fixing build errors on msvc
cagnulein Feb 28, 2025
fd98144
fixing msvc errors
cagnulein Feb 28, 2025
4da2e83
fixing msvc errors
cagnulein Feb 28, 2025
d0a15aa
fixing msvc errors
cagnulein Feb 28, 2025
92ea608
fixing msvc builds
cagnulein Feb 28, 2025
5f858eb
fixing msvc
cagnulein Feb 28, 2025
f700ebf
fixing msvc
cagnulein Feb 28, 2025
ce1c357
build works on msvc
cagnulein Feb 28, 2025
3e352eb
it runs but without anything on the homeform
cagnulein Feb 28, 2025
b0ebe83
it shows something on pc
cagnulein Feb 28, 2025
a8eedc2
fixing crash
cagnulein Feb 28, 2025
a91000e
changing qt github actions to 6.8.2
cagnulein Feb 28, 2025
94e1fa8
adding modules and disabling protobuf for now
cagnulein Feb 28, 2025
46e8893
Update main.yml
cagnulein Feb 28, 2025
6d7e86f
Update main.yml
cagnulein Feb 28, 2025
73e0ef6
Update main.yml
cagnulein Feb 28, 2025
9ac4f9b
Update main.yml
cagnulein Feb 28, 2025
40e72bd
Update main.yml
cagnulein Feb 28, 2025
6241939
smtpclient from master and disabling vcpkg
cagnulein Mar 1, 2025
cf6e2ea
adapting to the new smtp library
cagnulein Mar 1, 2025
c679026
Update homeform.cpp
cagnulein Mar 1, 2025
6139e63
Update homeform.cpp
cagnulein Mar 1, 2025
8044cf3
Update qdomyos-zwift.pri
cagnulein Mar 1, 2025
a1b8d72
Update main.yml
cagnulein Mar 1, 2025
7e0c62d
Update settings.qml
cagnulein Mar 1, 2025
f6f307c
Update wahookickrsnapbike.cpp
cagnulein Mar 1, 2025
2f2c084
Update settings.qml
cagnulein Mar 2, 2025
03a420c
fixing settings page
cagnulein Mar 3, 2025
b48c831
Merge branch 'victory-dircon' into qt6
cagnulein Mar 3, 2025
286c266
fixed crash on gear down from zwift
cagnulein Mar 4, 2025
a3e194c
Merge branch 'master' into qt6
cagnulein Mar 4, 2025
ee7b9d3
profile and tiles settings fixed
cagnulein Mar 4, 2025
f7b962e
fixing some import
cagnulein Mar 4, 2025
0d245b3
continuano a non funzionare i tasti start e stop
cagnulein Mar 4, 2025
3b62134
Windows version of QZ crashing after 2 minutes with CPU at 100% #3251
cagnulein Mar 6, 2025
0394a79
changing the artifact name
cagnulein Mar 6, 2025
950aaa8
home buttons work
cagnulein Mar 7, 2025
7f3b542
fixing profiles UI
cagnulein Mar 7, 2025
09d3bd5
Merge branch 'master' into qt6
cagnulein Mar 7, 2025
415d6b8
Update gears.qml
cagnulein Mar 8, 2025
dec6a6d
Merge branch 'qt6' of https://github.com/cagnulein/qdomyos-zwift into…
cagnulein Mar 8, 2025
2f8cdc9
6.8.2
cagnulein Mar 10, 2025
04048c3
Merge branch 'master' into qt6
cagnulein Mar 10, 2025
780c56c
#1508 updates to pri files to make test project build in Qt6 (#3291)
drmason789 Mar 11, 2025
dd5676b
Update strydrunpowersensor.cpp
cagnulein Mar 14, 2025
424821d
Update .gitmodules
cagnulein Mar 14, 2025
c55880e
Update horizontreadmill.cpp
cagnulein Mar 14, 2025
45da96c
Merge branch 'master' into qt6
cagnulein Mar 14, 2025
9a992f1
Update main.yml
cagnulein Mar 14, 2025
921198d
Update main.yml
cagnulein Mar 14, 2025
6bde637
Update main.yml
cagnulein Mar 14, 2025
d4e1ad9
Update main.yml
cagnulein Mar 14, 2025
b6d96cf
Update .gitmodules
cagnulein Mar 15, 2025
1b76b4a
removing stmp login and password methods
cagnulein Mar 15, 2025
495488f
Update horizontreadmill.cpp
cagnulein Mar 15, 2025
e8d8ff8
Update horizontreadmill.cpp
cagnulein Mar 15, 2025
d5fcd26
https://github.com/cagnulein/qdomyos-zwift/issues/3289#issuecomment-2…
cagnulein Mar 15, 2025
952eadb
Update qdomyos-zwift.pri
cagnulein Mar 16, 2025
a2d820f
Update bluetooth.cpp
cagnulein Mar 16, 2025
19420d1
fixing gears keys on windows
cagnulein Mar 16, 2025
779ebae
fixing peloton and strava login crash
cagnulein Mar 17, 2025
ff3612a
Merge branch 'qt6' of https://github.com/cagnulein/qdomyos-zwift into…
cagnulein Mar 17, 2025
b96107f
Update SettingsList.qml
cagnulein Mar 19, 2025
9b46e38
Windows 11 version (Issue #3281)
cagnulein Mar 19, 2025
e8f846e
Update main.yml
cagnulein Mar 19, 2025
16108ee
Update main.yml
cagnulein Mar 19, 2025
6cd95d5
Update homeform.cpp
cagnulein Mar 20, 2025
0efbad0
Merge branch 'master' into qt6
cagnulein Mar 20, 2025
c1e27f1
build qt6 for raspberry?
cagnulein Mar 24, 2025
1970fa9
Update main.yml
cagnulein Mar 24, 2025
cc663ed
Update main.yml
cagnulein Mar 24, 2025
480ef34
Update main.yml
cagnulein Mar 24, 2025
36f8d8b
Update main.yml
cagnulein Mar 24, 2025
5d2c733
Update main.yml
cagnulein Mar 24, 2025
c027141
Update main.yml
cagnulein Mar 24, 2025
d04922d
Update main.yml
cagnulein Mar 24, 2025
80d1e10
Update main.yml
cagnulein Mar 24, 2025
440384a
Update main.yml
cagnulein Mar 24, 2025
e919953
Update main.yml
cagnulein Mar 24, 2025
d11976e
Update main.yml
cagnulein Mar 24, 2025
a5b9a79
Revert "Update main.yml"
cagnulein Mar 24, 2025
4212b83
Update main.yml
cagnulein Mar 24, 2025
117fac5
Update main.yml
cagnulein Mar 24, 2025
b6ba183
Update main.yml
cagnulein Mar 24, 2025
cfeb793
Update main.yml
cagnulein Mar 24, 2025
c2d636f
Merge branch 'master' into qt6
cagnulein Mar 24, 2025
038b378
Update moxy5sensor.cpp
cagnulein Mar 24, 2025
a701f16
Update main.yml
cagnulein Mar 25, 2025
dfbc7a7
Update main.yml
cagnulein Mar 25, 2025
e35baf8
Update main.yml
cagnulein Mar 27, 2025
367d56e
adding full image for raspbian 64bit
cagnulein Mar 28, 2025
bcc0fdd
Update main.yml
cagnulein Mar 28, 2025
9f0e1e2
Update main.yml
cagnulein Mar 28, 2025
9e0d049
Update main.yml
cagnulein Mar 28, 2025
a6feacd
Update tacxneo2.cpp
cagnulein Mar 30, 2025
ffcc2d5
Update proformbike.cpp
cagnulein Apr 1, 2025
0c5b571
Merge branch 'master' into qt6
cagnulein Apr 1, 2025
e785561
Update echelonstairclimber.cpp
cagnulein Apr 2, 2025
5f374b2
scan behaves differently from qt5: it gots the devices only at the en…
cagnulein Apr 18, 2025
32c4aa2
Merge branch 'master' into qt6
cagnulein Apr 18, 2025
fb326d0
fixing elitesquarecontroller.cpp
cagnulein Apr 18, 2025
12f9f89
fixing elite square
cagnulein Apr 18, 2025
e2fcd96
fixing build
cagnulein Apr 19, 2025
7ddcdca
enabling CHARTJS
cagnulein Apr 19, 2025
40047b8
Update qdomyos-zwift.pri
cagnulein Apr 21, 2025
ebdb8b7
Merge branch 'master' into qt6
cagnulein Apr 21, 2025
943d6a1
fixing gpx map?
cagnulein Apr 24, 2025
310ff2a
Update main.yml
cagnulein Apr 24, 2025
2c1fd16
compiling qthttpsever back
cagnulein Apr 24, 2025
ce9c827
playing with chartjs
cagnulein Apr 24, 2025
a860359
Update main.yml
cagnulein Apr 24, 2025
0640fff
https://github.com/cagnulein/qdomyos-zwift/pull/1508#discussion_r2064…
cagnulein Apr 29, 2025
c44b5b2
Merge branch 'master' into qt6
cagnulein Apr 29, 2025
643e243
fixing webserver with websockets
cagnulein Apr 30, 2025
c4a4578
Merge branch 'master' into qt6
cagnulein Apr 30, 2025
20ae105
Update coresensor.cpp
cagnulein Apr 30, 2025
7a3319d
Update coresensor.cpp
cagnulein Apr 30, 2025
325d20d
merge
cagnulein Jun 6, 2025
d801633
fixing build
cagnulein Jun 6, 2025
fbc29ae
fixing build
cagnulein Jun 7, 2025
57512cd
Merge branch 'master' into qt6
cagnulein Jun 7, 2025
6041bcd
Merge branch 'master' into qt6
cagnulein Aug 1, 2025
a42caea
fixing
cagnulein Aug 1, 2025
73ccf67
fixing build
cagnulein Aug 1, 2025
730205a
fixing yaml
cagnulein Aug 1, 2025
354f382
fixing yaml
cagnulein Aug 1, 2025
629b988
reverting yaml
cagnulein Aug 1, 2025
8fd2bb6
reverting yaml
cagnulein Aug 1, 2025
d4f63c8
adding cmake
cagnulein Aug 1, 2025
5132e5f
cmake
cagnulein Aug 1, 2025
07edef0
Update main.yml
cagnulein Aug 2, 2025
5438683
Update main.yml
cagnulein Aug 2, 2025
5756711
fixing android build
cagnulein Aug 2, 2025
d659a91
fixing android build
cagnulein Aug 2, 2025
d17b16b
fix
cagnulein Aug 2, 2025
3673719
fix
cagnulein Aug 2, 2025
be8b4f5
fix
cagnulein Aug 2, 2025
dd50d5e
fix
cagnulein Aug 2, 2025
71935c5
fix
cagnulein Aug 2, 2025
4d53261
fix
cagnulein Aug 2, 2025
050e120
fix
cagnulein Aug 2, 2025
dc4522d
fix
cagnulein Aug 3, 2025
a7d357f
fix
cagnulein Aug 3, 2025
a9e6e71
upgrading gradle
cagnulein Aug 4, 2025
c949f23
Update main.yml
cagnulein Aug 4, 2025
af4926f
Update build.gradle
cagnulein Aug 4, 2025
5092f97
trying level 35
cagnulein Aug 4, 2025
72ca590
Update main.yml
cagnulein Aug 4, 2025
ee10f3a
Update main.yml
cagnulein Aug 4, 2025
b1fab06
gradle 8.6.0
cagnulein Aug 4, 2025
fd6c953
Merge branch 'master' into qt6
cagnulein Aug 4, 2025
efc7f4d
gradle 8.7
cagnulein Aug 4, 2025
17b6332
Update main.yml
cagnulein Aug 5, 2025
f5415bb
Merge branch 'master' into qt6
cagnulein Aug 26, 2025
e9c2fcd
Merge branch 'master' into qt6
cagnulein Aug 29, 2025
d54fbfd
Unable to set gears (Issue #3649)
cagnulein Aug 29, 2025
cb6b047
fix
cagnulein Aug 29, 2025
a5d45df
Update bluetooth.cpp
cagnulein Aug 29, 2025
2854314
crashing after some seconds
cagnulein Aug 29, 2025
c859ddb
Merge branch 'master' into qt6
cagnulein Aug 29, 2025
2767de9
duplicate qz screen fixed
cagnulein Sep 1, 2025
1f44575
Merge branch 'master' into qt6
cagnulein Sep 1, 2025
7962918
Merge branch 'master' into qt6
cagnulein Oct 21, 2025
47ecc19
Cadence and Wattage no responding the right way in Zwift (using a Eli…
cagnulein Nov 3, 2025
cb17b37
Merge branch 'master' into qt6
cagnulein Nov 3, 2025
db416db
Cadence and Wattage no responding the right way in Zwift (using a Eli…
cagnulein Nov 3, 2025
1a9ae45
Uncomment eliteService initialization code
cagnulein Nov 4, 2025
dd3048f
Merge branch 'master' into qt6
cagnulein Nov 4, 2025
a7a8c3f
fix build heartrateblet
cagnulein Nov 7, 2025
0493e58
Merge branch 'master' into qt6
cagnulein Nov 12, 2025
bc02647
build fix
cagnulein Nov 12, 2025
c51823e
build fix
cagnulein Nov 12, 2025
fd4db2b
Merge branch 'master' into qt6
cagnulein Dec 16, 2025
0274af3
build fix
cagnulein Dec 16, 2025
54a81d6
build fix
cagnulein Dec 16, 2025
ef6172a
toorx srx 3500 fix
cagnulein Dec 16, 2025
40de2f3
build fix
cagnulein Dec 16, 2025
f936af6
build fix
cagnulein Dec 16, 2025
9e9958c
Add null check for m_control in solef80treadmill
cagnulein Jan 9, 2026
9a4988b
Add null check for m_control in device update() functions
cagnulein Jan 9, 2026
74df618
Clean up update method in domyosrower
cagnulein Jan 9, 2026
0ae4a52
Merge branch 'master' into qt6
cagnulein Jan 9, 2026
102b166
Update checkout action in main.yml
cagnulein Jan 9, 2026
ddf75d2
Merge master into qt6
cagnulein Feb 26, 2026
37da96c
Fix Qt6 QString API and stabilize Raspberry workflows
cagnulein Feb 26, 2026
319a9fd
Fix Raspberry Qt6 package names and arm32 base image
cagnulein Feb 26, 2026
d52be3f
Fix Qt6 BLE error signal connection in sportstechrower
cagnulein Feb 26, 2026
596af36
Fix Qt6 BLE signal/descriptors across devices
cagnulein Feb 26, 2026
0359773
Fix Qt6 BLE API usage in ftmsbike and thinkridercontroller
cagnulein Feb 26, 2026
d2efbae
Fix Qt6 QBluetoothUuid enums in virtualrower
cagnulein Feb 26, 2026
b0cfb66
Fix Qt6 CyclingPowerMeasurement enum in ftmsbike
cagnulein Feb 26, 2026
8db0380
Restore Qt meta-object macros in PathController
cagnulein Feb 26, 2026
8613b54
merge
cagnulein Mar 30, 2026
cbbabba
fix ftmsbike crash
cagnulein Mar 30, 2026
781fd82
build fix
cagnulein Mar 30, 2026
65ad4ef
build fix
cagnulein Mar 30, 2026
e76850d
build fix
cagnulein Mar 30, 2026
d0978bb
build fix
cagnulein Mar 30, 2026
a64726e
build mail fix
cagnulein Apr 1, 2026
66bf781
build mail fix
cagnulein Apr 1, 2026
c7b2ecf
merge
cagnulein Apr 16, 2026
00ffb93
build fix
cagnulein Apr 16, 2026
681fb60
build fix
cagnulein Apr 16, 2026
c47c044
build fix
cagnulein Apr 16, 2026
46beb50
Open Training Program screen doesn't show up (Issue #4546)
cagnulein Apr 18, 2026
81fd5e2
fixing TrainingProgramsListJS
cagnulein Apr 24, 2026
f05a3da
Merge branch 'master' into qt6
cagnulein Jun 9, 2026
6ac36ff
Merge f05a3da28071c0c97feb672efc09191ed8fd22fe into 386e7ba24ce37f89a…
cagnulein Jun 9, 2026
4af5a8a
chore: update translation strings [automated]
github-actions[bot] Jun 9, 2026
3461e1d
Update bluetooth.cpp
cagnulein Jun 9, 2026
6d63deb
Merge branch 'qt6' of https://github.com/cagnulein/qdomyos-zwift into…
cagnulein Jun 9, 2026
fa7fc1a
Update iconsolebike.cpp
cagnulein Jun 9, 2026
422d573
Update iconsolebike.cpp
cagnulein Jun 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,397 changes: 282 additions & 1,115 deletions .github/workflows/main.yml

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
url = https://github.com/KDAB/android_openssl.git
[submodule "src/smtpclient"]
path = src/smtpclient
url = https://github.com/cagnulein/SmtpClient-for-Qt.git
branch = cagnulein-patch-2
url = https://github.com/bluetiger9/SmtpClient-for-Qt
branch = v2.0
[submodule "tst/googletest"]
path = tst/googletest
url = https://github.com/google/googletest.git
Expand Down
111 changes: 111 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
cmake_minimum_required(VERSION 3.23)
project(qdomyos-zwift VERSION 2.20.5 LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# Set Qt6 path based on platform and compiler
if(WIN32 AND NOT DEFINED CMAKE_PREFIX_PATH)
if(ANDROID)
# Android builds - use all Android ABIs
set(CMAKE_PREFIX_PATH "C:/Qt/6.8.2/android_armv7;C:/Qt/6.8.2/android_arm64_v8a;C:/Qt/6.8.2/android_x86;C:/Qt/6.8.2/android_x86_64")
elseif(MSVC)
# Windows MSVC builds
set(CMAKE_PREFIX_PATH "C:/Qt/6.8.2/msvc2022_64")
elseif(MINGW)
# Windows MinGW builds
set(CMAKE_PREFIX_PATH "C:/Qt/6.8.2/mingw_64")
else()
# Default Windows path
set(CMAKE_PREFIX_PATH "C:/Qt/6.8.2/msvc2022_64")
endif()
endif()

# Find required Qt6 components
if(ANDROID)
# Android specific components (some modules not available)
find_package(Qt6 REQUIRED COMPONENTS
Core
Quick
Qml
QuickControls2
Network
Gui
Xml
Positioning
NetworkAuth
WebSockets
Location
Multimedia
Charts
)
# Try to find optional Android modules
find_package(Qt6Bluetooth QUIET)
if(Qt6Bluetooth_FOUND)
message(STATUS "Qt6Bluetooth found for Android")
else()
message(WARNING "Qt6Bluetooth not found for Android - Bluetooth features will be disabled")
endif()

find_package(Qt6Core5Compat QUIET)
if(Qt6Core5Compat_FOUND)
message(STATUS "Qt6Core5Compat found for Android")
else()
message(WARNING "Qt6Core5Compat not found for Android - Qt5 compatibility features will be disabled")
endif()

find_package(Qt6TextToSpeech QUIET)
if(Qt6TextToSpeech_FOUND)
message(STATUS "Qt6TextToSpeech found for Android")
else()
message(WARNING "Qt6TextToSpeech not found for Android - Text-to-speech features will be disabled")
endif()
else()
# Desktop/full components
find_package(Qt6 REQUIRED COMPONENTS
Core
Widgets
Bluetooth
Xml
Positioning
Quick
Qml
QuickControls2
NetworkAuth
WebSockets
TextToSpeech
Location
Multimedia
MultimediaWidgets
Network
Gui
WebView
Charts
Core5Compat
)
endif()

# Qt6 policies
qt_policy(SET QTP0001 NEW)

# Android Multi-ABI support
if(ANDROID)
# Enable multi-ABI only if explicitly requested
if(DEFINED QT_ANDROID_BUILD_ALL_ABIS AND QT_ANDROID_BUILD_ALL_ABIS)
message(STATUS "Configuring for Android Multi-ABI build")
set(QT_ANDROID_BUILD_ALL_ABIS TRUE CACHE BOOL "Build for all available Android ABIs")
set(QT_ANDROID_ABIS "armeabi-v7a;arm64-v8a;x86;x86_64" CACHE STRING "Android ABIs to build for")
message(STATUS "Target ABIs: ${QT_ANDROID_ABIS}")
else()
message(STATUS "Configuring for single Android ABI: ${ANDROID_ABI}")
endif()
endif()

# Add the main application
add_subdirectory(src)

# Add tests for non-mobile platforms
if(NOT ANDROID AND NOT IOS)
enable_testing()
add_subdirectory(tst)
endif()
97 changes: 97 additions & 0 deletions CMakePresets.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
{
"version": 3,
"configurePresets": [
{
"name": "android-multi-abi-debug",
"displayName": "Android Multi-ABI Debug",
"description": "Build for all Android architectures (Debug)",
"generator": "Ninja Multi-Config",
"binaryDir": "${sourceDir}/build-android-multi-debug",
"toolchainFile": "$env{ANDROID_NDK_ROOT}/build/cmake/android.toolchain.cmake",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"CMAKE_PREFIX_PATH": "C:/Qt/6.8.2/android_arm64_v8a",
"QT_HOST_PATH": "C:/Qt/6.8.2/msvc2022_64",
"QT_ANDROID_BUILD_ALL_ABIS": "TRUE",
"QT_ANDROID_ABIS": "armeabi-v7a;arm64-v8a;x86;x86_64",
"ANDROID_ABI": "arm64-v8a",
"ANDROID_PLATFORM": "android-23",
"ANDROID_STL": "c++_shared",
"ANDROID_CPP_FEATURES": "rtti exceptions",
"CMAKE_FIND_ROOT_PATH_MODE_PACKAGE": "BOTH"
},
"environment": {
"ANDROID_SDK_ROOT": "C:/Users/$env{USERNAME}/AppData/Local/Android/Sdk",
"ANDROID_NDK_ROOT": "C:/Users/$env{USERNAME}/AppData/Local/Android/Sdk/ndk/21.4.7075529"
}
},
{
"name": "android-multi-abi-release",
"displayName": "Android Multi-ABI Release",
"description": "Build for all Android architectures (Release)",
"generator": "Ninja",
"binaryDir": "${sourceDir}/build-android-release",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release",
"CMAKE_PREFIX_PATH": "C:/Qt/6.8.2/android_armv7;C:/Qt/6.8.2/android_arm64_v8a;C:/Qt/6.8.2/android_x86;C:/Qt/6.8.2/android_x86_64",
"QT_HOST_PATH": "C:/Qt/6.8.2/msvc2022_64",
"QT_ANDROID_BUILD_ALL_ABIS": "ON",
"QT_ANDROID_ABIS": "armeabi-v7a;arm64-v8a;x86;x86_64",
"ANDROID_PLATFORM": "android-23",
"ANDROID_STL": "c++_shared"
},
"environment": {
"ANDROID_SDK_ROOT": "$env{ANDROID_SDK_ROOT}",
"ANDROID_NDK_ROOT": "$env{ANDROID_NDK_ROOT}",
"JAVA_HOME": "$env{JAVA_HOME}"
},
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
}
},
{
"name": "android-arm64-debug",
"displayName": "Android ARM64 Debug (Single ABI)",
"description": "Build for ARM64 only (Debug)",
"generator": "Ninja",
"binaryDir": "${sourceDir}/build-android-arm64-debug",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"CMAKE_PREFIX_PATH": "C:/Qt/6.8.2/android_arm64_v8a",
"QT_HOST_PATH": "C:/Qt/6.8.2/msvc2022_64",
"ANDROID_ABI": "arm64-v8a",
"ANDROID_PLATFORM": "android-23",
"ANDROID_STL": "c++_shared"
},
"environment": {
"ANDROID_SDK_ROOT": "$env{ANDROID_SDK_ROOT}",
"ANDROID_NDK_ROOT": "$env{ANDROID_NDK_ROOT}",
"JAVA_HOME": "$env{JAVA_HOME}"
},
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
}
}
],
"buildPresets": [
{
"name": "android-multi-abi-debug",
"configurePreset": "android-multi-abi-debug",
"displayName": "Build Android Multi-ABI Debug"
},
{
"name": "android-multi-abi-release",
"configurePreset": "android-multi-abi-release",
"displayName": "Build Android Multi-ABI Release"
},
{
"name": "android-arm64-debug",
"configurePreset": "android-arm64-debug",
"displayName": "Build Android ARM64 Debug"
}
]
}
2 changes: 1 addition & 1 deletion amazon-store/src/android/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@
<!-- For adding service(s) please check: https://wiki.qt.io/AndroidServices -->
</application>

<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="29" />
<uses-sdk android:minSdkVersion="23" android:targetSdkVersion="29" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.ACCESS_CHECKIN_PROPERTIES"/>
Expand Down
108 changes: 108 additions & 0 deletions configure-android-multiabi.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
@echo off
REM Configure CMake for Android Multi-ABI and open in Qt Creator
REM This script properly configures the project for multi-ABI build

echo.
echo ============================================
echo Configuring Android Multi-ABI Project
echo ============================================
echo.

REM Set paths
set QT_DIR=C:\Qt\6.8.2
set ANDROID_SDK_ROOT=C:\Users\%USERNAME%\AppData\Local\Android\Sdk
set ANDROID_NDK_ROOT=%ANDROID_SDK_ROOT%\ndk\25.1.8937393

REM Fallback to other NDK versions if preferred one doesn't exist
if not exist "%ANDROID_NDK_ROOT%" set ANDROID_NDK_ROOT=%ANDROID_SDK_ROOT%\ndk\26.1.10909125
if not exist "%ANDROID_NDK_ROOT%" set ANDROID_NDK_ROOT=%ANDROID_SDK_ROOT%\ndk\21.3.6528147

REM Verify paths
if not exist "%QT_DIR%\android_arm64_v8a" (
echo ERROR: Qt Android not found at %QT_DIR%
pause
exit /b 1
)

if not exist "%ANDROID_NDK_ROOT%" (
echo ERROR: Android NDK not found at %ANDROID_NDK_ROOT%
echo Please install NDK 21.4.7075529 through Android Studio
pause
exit /b 1
)

echo Using Qt: %QT_DIR%
echo Using NDK: %ANDROID_NDK_ROOT%
echo.

REM Clean previous build directories
if exist build-android-multiabi (
echo Cleaning previous multi-ABI build...
rmdir /s /q build-android-multiabi
)

REM Create build directory
mkdir build-android-multiabi
cd build-android-multiabi

echo.
echo ============================================
echo Configuring CMake for Multi-ABI
echo ============================================
echo.

REM Configure CMake with explicit multi-ABI settings
cmake .. ^
-DCMAKE_TOOLCHAIN_FILE="%ANDROID_NDK_ROOT%\build\cmake\android.toolchain.cmake" ^
-DQT_HOST_PATH="%QT_DIR%\msvc2022_64" ^
-DCMAKE_PREFIX_PATH="%QT_DIR%\android_arm64_v8a" ^
-DANDROID_ABI=arm64-v8a ^
-DANDROID_PLATFORM=android-23 ^
-DANDROID_STL=c++_shared ^
-DCMAKE_BUILD_TYPE=Debug ^
-DQT_ANDROID_BUILD_ALL_ABIS=ON ^
-DQT_ANDROID_ABIS="armeabi-v7a;arm64-v8a;x86;x86_64" ^
-DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=BOTH ^
-DANDROID_SDK_ROOT="%ANDROID_SDK_ROOT%" ^
-DANDROID_NDK_ROOT="%ANDROID_NDK_ROOT%"

if errorlevel 1 (
echo.
echo ERROR: CMake configuration failed!
echo Check the error messages above.
cd ..
pause
exit /b 1
)

echo.
echo ============================================
echo Configuration successful!
echo ============================================
echo.

REM Go back to project root
cd ..

echo Project configured for Android Multi-ABI build.
echo Build directory: build-android-multiabi
echo.
echo To build from command line:
echo cd build-android-multiabi
echo cmake --build . --parallel
echo.
echo To open in Qt Creator:
echo 1. Open Qt Creator
echo 2. File -^> Open File or Project
echo 3. Select: %CD%\build-android-multiabi\CMakeCache.txt
echo 4. Or just open the CMakeLists.txt and select the configured build
echo.

REM Ask if user wants to open Qt Creator
set /p OPEN_QTC="Open Qt Creator now? (y/n): "
if /i "%OPEN_QTC%"=="y" (
echo Opening Qt Creator...
start "" "%ProgramFiles%\Qt\QtCreator\bin\qtcreator.exe" "%CD%"
)

pause
Loading
Loading