aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/android
diff options
context:
space:
mode:
authorAlessandro Portale <alessandro.portale@qt.io>2020-07-23 15:48:56 +0200
committerAlessandro Portale <alessandro.portale@qt.io>2020-07-26 05:49:49 +0000
commit7b6d44a90a58c0382a3efefc2fe0b5ded9f9f451 (patch)
tree8fabf059bf60c6bddc17eb7069a0253c154f3308 /src/plugins/android
parenta149ccd2d2a9d2c9bca7c9922df034b33a5da1c0 (diff)
Android: Introduce constants for Android ABIs
Avoiding string duplication prevents typo-related runtime errors and allows an IDE to use find symbol rather than plain text search. Change-Id: I7fba7c7c5cf90c0b371efce3b575537b2708dd0f Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Diffstat (limited to 'src/plugins/android')
-rw-r--r--src/plugins/android/androidavdmanager.cpp5
-rw-r--r--src/plugins/android/androidconfigurations.cpp8
-rw-r--r--src/plugins/android/androiddeployqtstep.cpp3
-rw-r--r--src/plugins/android/androidmanager.cpp15
-rw-r--r--src/plugins/android/androidqtversion.cpp9
-rw-r--r--src/plugins/android/androidrunnerworker.cpp23
-rw-r--r--src/plugins/android/avddialog.cpp9
7 files changed, 44 insertions, 28 deletions
diff --git a/src/plugins/android/androidavdmanager.cpp b/src/plugins/android/androidavdmanager.cpp
index 55ae7a5cdc..f27247300e 100644
--- a/src/plugins/android/androidavdmanager.cpp
+++ b/src/plugins/android/androidavdmanager.cpp
@@ -25,6 +25,7 @@
#include "androidavdmanager.h"
#include <coreplugin/icore.h>
+#include <projectexplorer/projectexplorerconstants.h>
#include <utils/algorithm.h>
#include <utils/qtcassert.h>
#include <utils/runextensions.h>
@@ -424,8 +425,8 @@ AndroidDeviceInfoList AvdManagerOutputParser::parseAvdList(const QString &output
}
} else if (parseAvd(avdInfo, &avd)) {
// armeabi-v7a devices can also run armeabi code
- if (avd.cpuAbi.contains("armeabi-v7a"))
- avd.cpuAbi << "armeabi";
+ if (avd.cpuAbi.contains(ProjectExplorer::Constants::ANDROID_ABI_ARMEABI_V7A))
+ avd.cpuAbi << ProjectExplorer::Constants::ANDROID_ABI_ARMEABI;
avd.state = AndroidDeviceInfo::OkState;
avd.type = AndroidDeviceInfo::Emulator;
avdList << avd;
diff --git a/src/plugins/android/androidconfigurations.cpp b/src/plugins/android/androidconfigurations.cpp
index dea734faf7..5ea934a211 100644
--- a/src/plugins/android/androidconfigurations.cpp
+++ b/src/plugins/android/androidconfigurations.cpp
@@ -39,6 +39,7 @@
#include <projectexplorer/kitinformation.h>
#include <projectexplorer/kitmanager.h>
#include <projectexplorer/project.h>
+#include <projectexplorer/projectexplorerconstants.h>
#include <projectexplorer/session.h>
#include <projectexplorer/toolchainmanager.h>
@@ -1282,7 +1283,12 @@ void AndroidConfigurations::removeUnusedDebuggers()
static bool containsAllAbis(const QStringList &abis)
{
- QStringList supportedAbis{"armeabi-v7a", "arm64-v8a", "x86", "x86_64"};
+ QStringList supportedAbis{
+ ProjectExplorer::Constants::ANDROID_ABI_ARMEABI_V7A,
+ ProjectExplorer::Constants::ANDROID_ABI_ARM64_V8A,
+ ProjectExplorer::Constants::ANDROID_ABI_X86,
+ ProjectExplorer::Constants::ANDROID_ABI_X86_64,
+ };
for (const QString &abi : abis)
if (supportedAbis.contains(abi))
supportedAbis.removeOne(abi);
diff --git a/src/plugins/android/androiddeployqtstep.cpp b/src/plugins/android/androiddeployqtstep.cpp
index 5f55116411..74bd30e2ea 100644
--- a/src/plugins/android/androiddeployqtstep.cpp
+++ b/src/plugins/android/androiddeployqtstep.cpp
@@ -497,7 +497,8 @@ void AndroidDeployQtStep::gatherFilesToPull()
QString linkerName("linker");
QString libDirName("lib");
auto preferreABI = AndroidManager::apkDevicePreferredAbi(target());
- if (preferreABI == "arm64-v8a" || preferreABI == "x86_64") {
+ if (preferreABI == ProjectExplorer::Constants::ANDROID_ABI_ARM64_V8A
+ || preferreABI == ProjectExplorer::Constants::ANDROID_ABI_X86_64) {
m_filesToPull["/system/bin/app_process64"] = buildDir + "app_process";
libDirName = "lib64";
linkerName = "linker64";
diff --git a/src/plugins/android/androidmanager.cpp b/src/plugins/android/androidmanager.cpp
index 07163b54c1..3ac0f7a922 100644
--- a/src/plugins/android/androidmanager.cpp
+++ b/src/plugins/android/androidmanager.cpp
@@ -44,6 +44,7 @@
#include <projectexplorer/project.h>
#include <projectexplorer/projectnodes.h>
#include <projectexplorer/projectexplorer.h>
+#include <projectexplorer/projectexplorerconstants.h>
#include <projectexplorer/session.h>
#include <projectexplorer/target.h>
@@ -262,11 +263,11 @@ QStringList AndroidManager::applicationAbis(const Target *target)
QString AndroidManager::archTriplet(const QString &abi)
{
- if (abi == "x86") {
+ if (abi == ProjectExplorer::Constants::ANDROID_ABI_X86) {
return {"i686-linux-android"};
- } else if (abi == "x86_64") {
+ } else if (abi == ProjectExplorer::Constants::ANDROID_ABI_X86_64) {
return {"x86_64-linux-android"};
- } else if (abi == "arm64-v8a") {
+ } else if (abi == ProjectExplorer::Constants::ANDROID_ABI_ARM64_V8A) {
return {"aarch64-linux-android"};
}
return {"arm-linux-androideabi"};
@@ -361,25 +362,25 @@ QString AndroidManager::devicePreferredAbi(const QStringList &deviceAbis, const
Abi AndroidManager::androidAbi2Abi(const QString &androidAbi)
{
- if (androidAbi == "arm64-v8a") {
+ if (androidAbi == ProjectExplorer::Constants::ANDROID_ABI_ARM64_V8A) {
return Abi{Abi::Architecture::ArmArchitecture,
Abi::OS::LinuxOS,
Abi::OSFlavor::AndroidLinuxFlavor,
Abi::BinaryFormat::ElfFormat,
64, androidAbi};
- } else if (androidAbi == "armeabi-v7a") {
+ } else if (androidAbi == ProjectExplorer::Constants::ANDROID_ABI_ARMEABI_V7A) {
return Abi{Abi::Architecture::ArmArchitecture,
Abi::OS::LinuxOS,
Abi::OSFlavor::AndroidLinuxFlavor,
Abi::BinaryFormat::ElfFormat,
32, androidAbi};
- } else if (androidAbi == "x86_64") {
+ } else if (androidAbi == ProjectExplorer::Constants::ANDROID_ABI_X86_64) {
return Abi{Abi::Architecture::X86Architecture,
Abi::OS::LinuxOS,
Abi::OSFlavor::AndroidLinuxFlavor,
Abi::BinaryFormat::ElfFormat,
64, androidAbi};
- } else if (androidAbi == "x86") {
+ } else if (androidAbi == ProjectExplorer::Constants::ANDROID_ABI_X86) {
return Abi{Abi::Architecture::X86Architecture,
Abi::OS::LinuxOS,
Abi::OSFlavor::AndroidLinuxFlavor,
diff --git a/src/plugins/android/androidqtversion.cpp b/src/plugins/android/androidqtversion.cpp
index 0a3f80e75f..568df99429 100644
--- a/src/plugins/android/androidqtversion.cpp
+++ b/src/plugins/android/androidqtversion.cpp
@@ -35,6 +35,7 @@
#include <qtsupport/qtsupportconstants.h>
#include <qtsupport/qtversionmanager.h>
+#include <projectexplorer/projectexplorerconstants.h>
#include <projectexplorer/target.h>
#include <projectexplorer/kit.h>
#include <projectexplorer/project.h>
@@ -86,25 +87,25 @@ QString AndroidQtVersion::invalidReason() const
Abis AndroidQtVersion::detectQtAbis() const
{
auto androidAbi2Abi = [](const QString &androidAbi) {
- if (androidAbi == "arm64-v8a") {
+ if (androidAbi == ProjectExplorer::Constants::ANDROID_ABI_ARM64_V8A) {
return Abi{Abi::Architecture::ArmArchitecture,
Abi::OS::LinuxOS,
Abi::OSFlavor::AndroidLinuxFlavor,
Abi::BinaryFormat::ElfFormat,
64, androidAbi};
- } else if (androidAbi == "armeabi-v7a") {
+ } else if (androidAbi == ProjectExplorer::Constants::ANDROID_ABI_ARMEABI_V7A) {
return Abi{Abi::Architecture::ArmArchitecture,
Abi::OS::LinuxOS,
Abi::OSFlavor::AndroidLinuxFlavor,
Abi::BinaryFormat::ElfFormat,
32, androidAbi};
- } else if (androidAbi == "x86_64") {
+ } else if (androidAbi == ProjectExplorer::Constants::ANDROID_ABI_X86_64) {
return Abi{Abi::Architecture::X86Architecture,
Abi::OS::LinuxOS,
Abi::OSFlavor::AndroidLinuxFlavor,
Abi::BinaryFormat::ElfFormat,
64, androidAbi};
- } else if (androidAbi == "x86") {
+ } else if (androidAbi == ProjectExplorer::Constants::ANDROID_ABI_X86) {
return Abi{Abi::Architecture::X86Architecture,
Abi::OS::LinuxOS,
Abi::OSFlavor::AndroidLinuxFlavor,
diff --git a/src/plugins/android/androidrunnerworker.cpp b/src/plugins/android/androidrunnerworker.cpp
index 5496dbc6a8..147c0eca31 100644
--- a/src/plugins/android/androidrunnerworker.cpp
+++ b/src/plugins/android/androidrunnerworker.cpp
@@ -33,6 +33,7 @@
#include <debugger/debuggerkitinformation.h>
#include <debugger/debuggerrunconfigurationaspect.h>
+#include <projectexplorer/projectexplorerconstants.h>
#include <projectexplorer/environmentaspect.h>
#include <projectexplorer/runconfigurationaspects.h>
#include <projectexplorer/runcontrol.h>
@@ -164,32 +165,32 @@ static void deleter(QProcess *p)
static QString gdbServerArch(const QString &androidAbi)
{
- if (androidAbi == "arm64-v8a")
+ if (androidAbi == ProjectExplorer::Constants::ANDROID_ABI_ARM64_V8A)
return QString("arm64");
- if (androidAbi == "armeabi-v7a")
+ if (androidAbi == ProjectExplorer::Constants::ANDROID_ABI_ARMEABI_V7A)
return QString("arm");
- // That's correct for "x86_64" and "x86", and best guess at anything that will evolve:
+ // That's correct for x86_64 and x86, and best guess at anything that will evolve:
return androidAbi;
}
static QString lldbServerArch(const QString &androidAbi)
{
- if (androidAbi == "armeabi-v7a")
- return QString("armeabi");
- // Correct for arm64-v8a "x86_64" and "x86", and best guess at anything that will evolve:
+ if (androidAbi == ProjectExplorer::Constants::ANDROID_ABI_ARMEABI_V7A)
+ return {ProjectExplorer::Constants::ANDROID_ABI_ARMEABI};
+ // Correct for arm64-v8a, x86 and x86_64, and best guess at anything that will evolve:
return androidAbi; // arm64-v8a, x86, x86_64
}
static QString lldbServerArch2(const QString &androidAbi)
{
- if (androidAbi == "armeabi-v7a")
+ if (androidAbi == ProjectExplorer::Constants::ANDROID_ABI_ARMEABI_V7A)
return {"arm"};
- if (androidAbi == "x86")
+ if (androidAbi == ProjectExplorer::Constants::ANDROID_ABI_X86)
return {"i386"};
- if (androidAbi == "arm64-v8a")
+ if (androidAbi == ProjectExplorer::Constants::ANDROID_ABI_ARM64_V8A)
return {"aarch64"};
- // Correct for "x86_64" a and best guess at anything that will evolve:
- return androidAbi; // arm64-v8a
+ // Correct for x86_64 and best guess at anything that will evolve:
+ return androidAbi; // x86_64
}
static FilePath debugServer(bool useLldb, const Target *target)
diff --git a/src/plugins/android/avddialog.cpp b/src/plugins/android/avddialog.cpp
index 878ccad276..ded445e2cb 100644
--- a/src/plugins/android/avddialog.cpp
+++ b/src/plugins/android/avddialog.cpp
@@ -27,6 +27,7 @@
#include "androidsdkmanager.h"
#include "androidavdmanager.h"
+#include <projectexplorer/projectexplorerconstants.h>
#include <utils/algorithm.h>
#include <utils/tooltip/tooltip.h>
#include <utils/utilsicons.h>
@@ -58,8 +59,12 @@ AvdDialog::AvdDialog(int minApiLevel, AndroidSdkManager *sdkManager, const QStri
m_hideTipTimer.setSingleShot(true);
if (abis.isEmpty()) {
- m_avdDialog.abiComboBox->addItems(QStringList({"x86", "x86_64", "armeabi-v7a",
- "armeabi", "arm64-v8a"}));
+ m_avdDialog.abiComboBox->addItems(QStringList({
+ ProjectExplorer::Constants::ANDROID_ABI_X86,
+ ProjectExplorer::Constants::ANDROID_ABI_X86_64,
+ ProjectExplorer::Constants::ANDROID_ABI_ARMEABI_V7A,
+ ProjectExplorer::Constants::ANDROID_ABI_ARMEABI,
+ ProjectExplorer::Constants::ANDROID_ABI_ARM64_V8A}));
} else {
m_avdDialog.abiComboBox->addItems(abis);
}