From ef5fb6ead50ca4423c2a1fca8b75fa571adcd00d Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Tue, 29 Jul 2014 16:13:57 +0300 Subject: Android: export ANDROID_SDK_BUILD_TOOLS_REVISION. It's needed by androiddeployqt tool to run "zipalign" tool and to set it to gradle properties. Task-number:QTBUG-40481 Change-Id: I3dd665a7461a4e981867cdad75a50940e46a5ae6 Reviewed-by: Oswald Buddenhagen Reviewed-by: Eskil Abrahamsen Blomfeldt --- mkspecs/android-g++/qmake.conf | 13 ++++++++++++ .../android/android_deployment_settings.prf | 5 ++--- mkspecs/features/java.prf | 24 +++++----------------- 3 files changed, 20 insertions(+), 22 deletions(-) diff --git a/mkspecs/android-g++/qmake.conf b/mkspecs/android-g++/qmake.conf index 78b484fdb5..e510c2d93c 100644 --- a/mkspecs/android-g++/qmake.conf +++ b/mkspecs/android-g++/qmake.conf @@ -74,6 +74,19 @@ else: ANDROID_ARCHITECTURE = arm NDK_TOOLCHAIN = $$NDK_TOOLCHAIN_PREFIX-$$NDK_TOOLCHAIN_VERSION NDK_TOOLCHAIN_PATH = $$NDK_ROOT/toolchains/$$NDK_TOOLCHAIN/prebuilt/$$NDK_HOST + +ANDROID_SDK_ROOT = $$(ANDROID_SDK_ROOT) +isEmpty(ANDROID_SDK_ROOT): ANDROID_SDK_ROOT = $$DEFAULT_ANDROID_SDK_ROOT + +ANDROID_SDK_BUILD_TOOLS_REVISION = $$(ANDROID_BUILD_TOOLS_REVISION) +isEmpty(ANDROID_SDK_BUILD_TOOLS_REVISION) { + SDK_BUILD_TOOLS_REVISIONS = $$files($$ANDROID_SDK_ROOT/build-tools/*) + for (REVISION, SDK_BUILD_TOOLS_REVISIONS) { + BASENAME = $$basename(REVISION) + greaterThan(BASENAME, $$ANDROID_SDK_BUILD_TOOLS_REVISION): ANDROID_SDK_BUILD_TOOLS_REVISION = $$BASENAME + } +} + CONFIG += $$ANDROID_PLATFORM ANDROID_PLATFORM_ROOT_PATH = $$NDK_ROOT/platforms/$$ANDROID_PLATFORM/arch-$$ANDROID_ARCHITECTURE/ ANDROID_PLATFORM_PATH = $$ANDROID_PLATFORM_ROOT_PATH/usr diff --git a/mkspecs/features/android/android_deployment_settings.prf b/mkspecs/features/android/android_deployment_settings.prf index 5bc1fd14c9..208d4abaa7 100644 --- a/mkspecs/features/android/android_deployment_settings.prf +++ b/mkspecs/features/android/android_deployment_settings.prf @@ -10,9 +10,8 @@ contains(TEMPLATE, ".*app"):!build_pass:!android-no-sdk { FILE_CONTENT += " \"qt\": $$emitString($$[QT_INSTALL_PREFIX])," # Settings from mkspecs/environment - isEmpty(SDK_ROOT): SDK_ROOT = $$(ANDROID_SDK_ROOT) - isEmpty(SDK_ROOT): SDK_ROOT = $$DEFAULT_ANDROID_SDK_ROOT - FILE_CONTENT += " \"sdk\": $$emitString($$SDK_ROOT)," + FILE_CONTENT += " \"sdk\": $$emitString($$ANDROID_SDK_ROOT)," + FILE_CONTENT += " \"sdkBuildToolsRevision\": $$emitString($$ANDROID_SDK_BUILD_TOOLS_REVISION)," isEmpty(NDK_ROOT): NDK_ROOT = $$(ANDROID_NDK_ROOT) isEmpty(NDK_ROOT): NDK_ROOT = $$DEFAULT_ANDROID_NDK_ROOT diff --git a/mkspecs/features/java.prf b/mkspecs/features/java.prf index 790724cec9..1c55b8974e 100644 --- a/mkspecs/features/java.prf +++ b/mkspecs/features/java.prf @@ -1,24 +1,10 @@ TEMPLATE = lib android { - isEmpty(SDK_ROOT): SDK_ROOT = $$(ANDROID_SDK_ROOT) - isEmpty(SDK_ROOT): SDK_ROOT = $$DEFAULT_ANDROID_SDK_ROOT - API_VERSION_TO_USE = $$(ANDROID_API_VERSION) isEmpty(API_VERSION_TO_USE): API_VERSION_TO_USE = $$API_VERSION isEmpty(API_VERSION_TO_USE): API_VERSION_TO_USE = android-10 - isEmpty(BUILD_TOOLS_REVISION) { - BUILD_TOOLS_REVISION = $$(ANDROID_BUILD_TOOLS_REVISION) - isEmpty(BUILD_TOOLS_REVISION) { - BUILD_TOOLS_REVISIONS = $$files($$SDK_ROOT/build-tools/*) - for (REVISION, BUILD_TOOLS_REVISIONS) { - BASENAME = $$basename(REVISION) - greaterThan(BASENAME, $$BUILD_TOOLS_REVISION): BUILD_TOOLS_REVISION = $$BASENAME - } - } - } - - ANDROID_JAR_FILE = $$SDK_ROOT/platforms/$$API_VERSION_TO_USE/android.jar + ANDROID_JAR_FILE = $$ANDROID_SDK_ROOT/platforms/$$API_VERSION_TO_USE/android.jar !exists($$ANDROID_JAR_FILE) { error("The Path $$ANDROID_JAR_FILE does not exist. Make sure the ANDROID_SDK_ROOT and ANDROID_API_VERSION environment variables are correctly set.") } @@ -69,12 +55,12 @@ android:!bundled_jar_file { # of the base sdk folder. # Doing it this way makes this logic more similar to the other platforms and # also means that our dx.bat is more like Google's dx.bat - DEX_BAT = $$SDK_ROOT/platform-tools/dx.bat - !exists($$DEX_BAT): DEX_BAT = $$SDK_ROOT/build-tools/$$BUILD_TOOLS_REVISION/dx.bat + DEX_BAT = $$ANDROID_SDK_ROOT/platform-tools/dx.bat + !exists($$DEX_BAT): DEX_BAT = $$ANDROID_SDK_ROOT/build-tools/$$ANDROID_SDK_BUILD_TOOLS_REVISION/dx.bat DEX_CMD = $$PWD/data/android/dx $$DEX_BAT } else { - DEX_CMD = $$SDK_ROOT/platform-tools/dx - !exists($$DEX_CMD): DEX_CMD = $$SDK_ROOT/build-tools/$$BUILD_TOOLS_REVISION/dx + DEX_CMD = $$ANDROID_SDK_ROOT/platform-tools/dx + !exists($$DEX_CMD): DEX_CMD = $$ANDROID_SDK_ROOT/build-tools/$$ANDROID_SDK_BUILD_TOOLS_REVISION/dx !exists($$DEX_CMD): error("The path $$DEX_CMD does not exist. Please set the environment variable ANDROID_BUILD_TOOLS_REVISION to the revision of the build tools installed in your Android SDK.") } QMAKE_LINK_SHLIB_CMD = $$DEX_CMD --dex --output $(TARGET) $$CLASS_DIR -- cgit v1.2.3