5bb178c479
Multi arch build in one go is need to support the new .aab packaging format. By default the users apps are built for all Android ABIs: arm64-v8a armeabi-v7a x86_64 x86 The user can pass ANDROID_ABIS to qmake to filter the ABIs during development, e.g. qmake ANDROID_ABIS="arm64-v8a armeabi-v7a" will build only for arm ABIs. [ChangeLog][Android] Android multi arch build in one go, needed to support the new .aab packaging format. Change-Id: I3a64caf9621c2a195863976a62a57cdf47e6e3b5 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
38 lines
1.4 KiB
Plaintext
38 lines
1.4 KiB
Plaintext
APK_PATH = $$shell_path($$OUT_PWD/android-build/$${TARGET}.apk)
|
|
!contains(TEMPLATE, subdirs): {
|
|
apk_install_target.target = apk_install_target
|
|
apk_install_target.depends = first
|
|
apk_install_target.commands = $(MAKE) -f $(MAKEFILE) INSTALL_ROOT=$$OUT_PWD/android-build install
|
|
|
|
apk.target = apk
|
|
apk.depends = apk_install_target
|
|
qtPrepareTool(ANDROIDDEPLOYQT, androiddeployqt)
|
|
isEmpty(ANDROID_DEPLOYMENT_SETTINGS_FILE): ANDROID_DEPLOYMENT_SETTINGS_FILE = $$OUT_PWD/android-$$TARGET-deployment-settings.json
|
|
contains(QMAKE_HOST.os, Windows): extension = .exe
|
|
apk.commands = $$ANDROIDDEPLOYQT --input $$ANDROID_DEPLOYMENT_SETTINGS_FILE --output $$OUT_PWD/android-build --apk $$APK_PATH
|
|
} else {
|
|
prepareRecursiveTarget(apk)
|
|
prepareRecursiveTarget(apk_install_target)
|
|
}
|
|
QMAKE_EXTRA_TARGETS *= apk apk_install_target
|
|
|
|
build_pass {
|
|
contains(TEMPLATE, ".*app") {
|
|
!android_app {
|
|
!contains(TARGET, ".so") {
|
|
single_arch:TARGET = lib$${TARGET}.so
|
|
else:TARGET = lib$${TARGET}_$${QT_ARCH}.so
|
|
}
|
|
QMAKE_LFLAGS += -Wl,-soname,$$shell_quote($$TARGET)
|
|
|
|
android_install {
|
|
target.path=/libs/$$ANDROID_TARGET_ARCH/
|
|
INSTALLS *= target
|
|
}
|
|
}
|
|
} else: contains(TEMPLATE, "lib"):!static:!QTDIR_build:android_install {
|
|
target.path = /libs/$$ANDROID_TARGET_ARCH/
|
|
INSTALLS *= target
|
|
}
|
|
}
|