Fix debugging armv7a & x86 when running on 64 bit targets

We need to choose the preferred ABI based on what it's in the package
not based on what Qt supports.

Change-Id: I243fbf67913af7804af868d507323c0934ad3752
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
This commit is contained in:
BogDan Vatra
2019-12-03 09:26:05 +02:00
committed by BogDan Vatra
parent 6954e51174
commit ce95e31766
4 changed files with 2 additions and 8 deletions

View File

@@ -145,7 +145,7 @@ void AndroidDebugSupport::start()
setSymbolFile(runControl()->buildDirectory().pathAppended("app_process")); setSymbolFile(runControl()->buildDirectory().pathAppended("app_process"));
setSkipExecutableValidation(true); setSkipExecutableValidation(true);
setUseExtendedRemote(true); setUseExtendedRemote(true);
QString devicePreferredAbi = AndroidManager::devicePreferredAbi(target); QString devicePreferredAbi = AndroidManager::apkDevicePreferredAbi(target);
setAbi(AndroidManager::androidAbi2Abi(devicePreferredAbi)); setAbi(AndroidManager::androidAbi2Abi(devicePreferredAbi));
QUrl gdbServer; QUrl gdbServer;
gdbServer.setHost(QHostAddress(QHostAddress::LocalHost).toString()); gdbServer.setHost(QHostAddress(QHostAddress::LocalHost).toString());

View File

@@ -509,7 +509,7 @@ void AndroidDeployQtStep::gatherFilesToPull()
QString linkerName("linker"); QString linkerName("linker");
QString libDirName("lib"); QString libDirName("lib");
auto preferreABI = AndroidManager::devicePreferredAbi(target()); auto preferreABI = AndroidManager::apkDevicePreferredAbi(target());
if (preferreABI == "arm64-v8a" || preferreABI == "x86_64") { if (preferreABI == "arm64-v8a" || preferreABI == "x86_64") {
m_filesToPull["/system/bin/app_process64"] = buildDir + "app_process"; m_filesToPull["/system/bin/app_process64"] = buildDir + "app_process";
libDirName = "lib64"; libDirName = "lib64";

View File

@@ -433,11 +433,6 @@ static QString preferredAbi(const QStringList &appAbis, Target *target)
return {}; return {};
} }
QString AndroidManager::devicePreferredAbi(Target *target)
{
return preferredAbi(applicationAbis(target), target);
}
QString AndroidManager::apkDevicePreferredAbi(Target *target) QString AndroidManager::apkDevicePreferredAbi(Target *target)
{ {
auto libsPath = dirPath(target).pathAppended("libs"); auto libsPath = dirPath(target).pathAppended("libs");

View File

@@ -84,7 +84,6 @@ public:
static QString deviceSerialNumber(ProjectExplorer::Target *target); static QString deviceSerialNumber(ProjectExplorer::Target *target);
static void setDeviceSerialNumber(ProjectExplorer::Target *target, const QString &deviceSerialNumber); static void setDeviceSerialNumber(ProjectExplorer::Target *target, const QString &deviceSerialNumber);
static QString devicePreferredAbi(ProjectExplorer::Target *target);
static QString apkDevicePreferredAbi(ProjectExplorer::Target *target); static QString apkDevicePreferredAbi(ProjectExplorer::Target *target);
static void setDeviceAbis(ProjectExplorer::Target *target, const QStringList &deviceAbis); static void setDeviceAbis(ProjectExplorer::Target *target, const QStringList &deviceAbis);