forked from qt-creator/qt-creator
Android: Get the preferred Abi from apk & device
Change-Id: I47325aaec0575dde0e9c9669e61248dac753c670 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
This commit is contained in:
committed by
BogDan Vatra
parent
efa857e693
commit
e21fe24c40
@@ -423,9 +423,8 @@ void AndroidManager::setDeviceSerialNumber(ProjectExplorer::Target *target, cons
|
|||||||
target->setNamedSettings(AndroidDeviceSn, deviceSerialNumber);
|
target->setNamedSettings(AndroidDeviceSn, deviceSerialNumber);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString AndroidManager::devicePreferredAbi(Target *target)
|
static QString preferredAbi(const QStringList &appAbis, Target *target)
|
||||||
{
|
{
|
||||||
auto appAbis = applicationAbis(target);
|
|
||||||
const auto deviceAbis = target->namedSettings(AndroidDeviceAbis).toStringList();
|
const auto deviceAbis = target->namedSettings(AndroidDeviceAbis).toStringList();
|
||||||
for (const auto &abi : deviceAbis) {
|
for (const auto &abi : deviceAbis) {
|
||||||
if (appAbis.contains(abi))
|
if (appAbis.contains(abi))
|
||||||
@@ -434,6 +433,21 @@ QString AndroidManager::devicePreferredAbi(Target *target)
|
|||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString AndroidManager::devicePreferredAbi(Target *target)
|
||||||
|
{
|
||||||
|
return preferredAbi(applicationAbis(target), target);
|
||||||
|
}
|
||||||
|
|
||||||
|
QString AndroidManager::apkDevicePreferredAbi(Target *target)
|
||||||
|
{
|
||||||
|
auto libsPath = dirPath(target).pathAppended("libs");
|
||||||
|
QStringList apkAbis;
|
||||||
|
for (const auto &abi : QDir{libsPath.toString()}.entryList(QDir::Dirs | QDir::NoDotAndDotDot))
|
||||||
|
if (QDir{libsPath.pathAppended(abi).toString()}.entryList(QStringList("*.so"), QDir::Files | QDir::NoDotAndDotDot).length())
|
||||||
|
apkAbis << abi;
|
||||||
|
return preferredAbi(apkAbis, target);
|
||||||
|
}
|
||||||
|
|
||||||
void AndroidManager::setDeviceAbis(ProjectExplorer::Target *target, const QStringList &deviceAbis)
|
void AndroidManager::setDeviceAbis(ProjectExplorer::Target *target, const QStringList &deviceAbis)
|
||||||
{
|
{
|
||||||
target->setNamedSettings(AndroidDeviceAbis, deviceAbis);
|
target->setNamedSettings(AndroidDeviceAbis, deviceAbis);
|
||||||
|
@@ -85,6 +85,7 @@ public:
|
|||||||
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 devicePreferredAbi(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);
|
||||||
|
|
||||||
static int deviceApiLevel(ProjectExplorer::Target *target);
|
static int deviceApiLevel(ProjectExplorer::Target *target);
|
||||||
|
@@ -225,7 +225,9 @@ AndroidRunnerWorker::AndroidRunnerWorker(RunWorker *runner, const QString &packa
|
|||||||
<< "Extra Start Args:" << m_amStartExtraArgs
|
<< "Extra Start Args:" << m_amStartExtraArgs
|
||||||
<< "Before Start ADB cmds:" << m_beforeStartAdbCommands
|
<< "Before Start ADB cmds:" << m_beforeStartAdbCommands
|
||||||
<< "After finish ADB cmds:" << m_afterFinishAdbCommands;
|
<< "After finish ADB cmds:" << m_afterFinishAdbCommands;
|
||||||
m_gdbserverPath = AndroidConfigurations::instance()->currentConfig().gdbServer(AndroidManager::devicePreferredAbi(target)).toString();
|
QString preferredAbi = AndroidManager::apkDevicePreferredAbi(target);
|
||||||
|
if (!preferredAbi.isEmpty())
|
||||||
|
m_gdbserverPath = AndroidConfigurations::instance()->currentConfig().gdbServer(preferredAbi).toString();
|
||||||
QtSupport::BaseQtVersion *version = QtSupport::QtKitAspect::qtVersion(target->kit());
|
QtSupport::BaseQtVersion *version = QtSupport::QtKitAspect::qtVersion(target->kit());
|
||||||
m_useAppParamsForQmlDebugger = version->qtVersion() >= QtSupport::QtVersionNumber(5, 12);
|
m_useAppParamsForQmlDebugger = version->qtVersion() >= QtSupport::QtVersionNumber(5, 12);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user