diff --git a/src/plugins/android/androidpackagecreationstep.cpp b/src/plugins/android/androidpackagecreationstep.cpp index 5336764e4e4bee2bb21c8fb004e734a11a0fd0c9..947fda77c9d9887e33dd29a028f5ffee48932521 100644 --- a/src/plugins/android/androidpackagecreationstep.cpp +++ b/src/plugins/android/androidpackagecreationstep.cpp @@ -145,16 +145,13 @@ bool AndroidPackageCreationStep::init() // Copying m_androidDir = AndroidManager::dirPath(target()); Utils::FileName path = m_androidDir; - Utils::FileName androidLibPath; - QStringList configs = project->rootQt4ProjectNode()->variableValue(Qt4ProjectManager::ConfigVar); - if (configs.contains(QLatin1String("x86"))) - androidLibPath = path.appendPath(QLatin1String("libs/x86")); - else if (configs.contains(QLatin1String("mips"))) - androidLibPath = path.appendPath(QLatin1String("libs/mips")); - else if (configs.contains(QLatin1String("armeabi-v7a"))) - androidLibPath = path.appendPath(QLatin1String("libs/armeabi-v7a")); - else - androidLibPath = path.appendPath(QLatin1String("libs/armeabi")); + QString androidTargetArch = project->rootQt4ProjectNode()->singleVariableValue(Qt4ProjectManager::AndroidArchVar); + if (androidTargetArch.isEmpty()) { + raiseError(tr("Cannot create Android package: No ANDROID_TARGET_ARCH set in make spec.")); + return false; + } + + Utils::FileName androidLibPath = path.appendPath(QLatin1String("libs/") + androidTargetArch); m_gdbServerDestination = androidLibPath.appendPath(QLatin1String("gdbserver")); m_gdbServerSource = AndroidGdbServerKitInformation::gdbServer(target()->kit()); m_debugBuild = bc->qmakeBuildConfiguration() & QtSupport::BaseQtVersion::DebugBuild; diff --git a/src/plugins/qt4projectmanager/qt4nodes.cpp b/src/plugins/qt4projectmanager/qt4nodes.cpp index 1ba540c22c7bf797e3b7d0e0f843f4950a8307fa..2028a8a56fade85e6e699c9e4f64c51913fc9f3e 100644 --- a/src/plugins/qt4projectmanager/qt4nodes.cpp +++ b/src/plugins/qt4projectmanager/qt4nodes.cpp @@ -1941,6 +1941,7 @@ void Qt4ProFileNode::applyEvaluate(EvalResult evalResult, bool async) = m_readerExact->values(QLatin1String("TARGET_VERSION_EXT")); newVarValues[StaticLibExtensionVar] = m_readerExact->values(QLatin1String("QMAKE_EXTENSION_STATICLIB")); newVarValues[ShLibExtensionVar] = m_readerExact->values(QLatin1String("QMAKE_EXTENSION_SHLIB")); + newVarValues[AndroidArchVar] = m_readerExact->values(QLatin1String("ANDROID_TARGET_ARCH")); m_isDeployable = false; if (m_projectType == ApplicationTemplate) { diff --git a/src/plugins/qt4projectmanager/qt4nodes.h b/src/plugins/qt4projectmanager/qt4nodes.h index 7b31371b875fc8fea759994cb8559f916733b6c1..b3231a0e78cbeb90aabf6fee4004f1c9f63f10f4 100644 --- a/src/plugins/qt4projectmanager/qt4nodes.h +++ b/src/plugins/qt4projectmanager/qt4nodes.h @@ -98,7 +98,8 @@ enum Qt4Variable { VersionVar, TargetVersionExtVar, StaticLibExtensionVar, - ShLibExtensionVar + ShLibExtensionVar, + AndroidArchVar }; // Import base classes into namespace