forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/4.11'
Conflicts: cmake/QtCreatorIDEBranding.cmake qbs/modules/qtc/qtc.qbs qtcreator_ide_branding.pri src/plugins/mcusupport/mcusupportrunconfiguration.cpp src/plugins/python/pythonproject.cpp src/plugins/qmakeprojectmanager/qmakestep.cpp src/plugins/qmlprojectmanager/qmlproject.cpp src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp Change-Id: I22507be28fd80c49c9fee0dff5937a40db176a82
This commit is contained in:
@@ -145,7 +145,7 @@ void AndroidDebugSupport::start()
|
||||
setSymbolFile(runControl()->buildDirectory().pathAppended("app_process"));
|
||||
setSkipExecutableValidation(true);
|
||||
setUseExtendedRemote(true);
|
||||
QString devicePreferredAbi = AndroidManager::devicePreferredAbi(target);
|
||||
QString devicePreferredAbi = AndroidManager::apkDevicePreferredAbi(target);
|
||||
setAbi(AndroidManager::androidAbi2Abi(devicePreferredAbi));
|
||||
QUrl gdbServer;
|
||||
gdbServer.setHost(QHostAddress(QHostAddress::LocalHost).toString());
|
||||
|
||||
@@ -509,7 +509,7 @@ void AndroidDeployQtStep::gatherFilesToPull()
|
||||
|
||||
QString linkerName("linker");
|
||||
QString libDirName("lib");
|
||||
auto preferreABI = AndroidManager::devicePreferredAbi(target());
|
||||
auto preferreABI = AndroidManager::apkDevicePreferredAbi(target());
|
||||
if (preferreABI == "arm64-v8a" || preferreABI == "x86_64") {
|
||||
m_filesToPull["/system/bin/app_process64"] = buildDir + "app_process";
|
||||
libDirName = "lib64";
|
||||
|
||||
@@ -56,12 +56,14 @@ AndroidDevice::AndroidDevice()
|
||||
setOsType(Utils::OsTypeOtherUnix);
|
||||
|
||||
setDeviceState(DeviceReadyToUse);
|
||||
QString activityPath;
|
||||
const AndroidConfig &config = AndroidConfigurations::currentConfig();
|
||||
AndroidManager::apkInfo(config.qtLiveApkPath(), nullptr, nullptr, &activityPath);
|
||||
qCDebug(androidDeviceLog) << "Using Qt live apk from: " << config.qtLiveApkPath()
|
||||
<< "Activity Path:" << activityPath;
|
||||
setQmlsceneCommand(activityPath);
|
||||
if (config.qtLiveApkPath().exists()) {
|
||||
QString activityPath;
|
||||
AndroidManager::apkInfo(config.qtLiveApkPath(), nullptr, nullptr, &activityPath);
|
||||
qCDebug(androidDeviceLog) << "Using Qt live apk from: " << config.qtLiveApkPath()
|
||||
<< "Activity Path:" << activityPath;
|
||||
setQmlsceneCommand(activityPath);
|
||||
}
|
||||
}
|
||||
|
||||
IDevice::DeviceInfo AndroidDevice::deviceInformation() const
|
||||
|
||||
@@ -423,9 +423,8 @@ void AndroidManager::setDeviceSerialNumber(ProjectExplorer::Target *target, cons
|
||||
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();
|
||||
for (const auto &abi : deviceAbis) {
|
||||
if (appAbis.contains(abi))
|
||||
@@ -434,6 +433,16 @@ QString AndroidManager::devicePreferredAbi(Target *target)
|
||||
return {};
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
target->setNamedSettings(AndroidDeviceAbis, deviceAbis);
|
||||
|
||||
@@ -84,7 +84,7 @@ public:
|
||||
static QString deviceSerialNumber(ProjectExplorer::Target *target);
|
||||
static void setDeviceSerialNumber(ProjectExplorer::Target *target, const QString &deviceSerialNumber);
|
||||
|
||||
static QString devicePreferredAbi(ProjectExplorer::Target *target);
|
||||
static QString apkDevicePreferredAbi(ProjectExplorer::Target *target);
|
||||
static void setDeviceAbis(ProjectExplorer::Target *target, const QStringList &deviceAbis);
|
||||
|
||||
static int deviceApiLevel(ProjectExplorer::Target *target);
|
||||
|
||||
@@ -224,7 +224,7 @@ void AndroidRunner::remoteErrorOutput(const QString &output)
|
||||
}
|
||||
|
||||
void AndroidRunner::handleRemoteProcessStarted(Utils::Port gdbServerPort,
|
||||
const QUrl &qmlServer, int pid)
|
||||
const QUrl &qmlServer, qint64 pid)
|
||||
{
|
||||
m_pid = ProcessHandle(pid);
|
||||
m_gdbServerPort = gdbServerPort;
|
||||
|
||||
@@ -72,7 +72,7 @@ private:
|
||||
void remoteOutput(const QString &output);
|
||||
void remoteErrorOutput(const QString &output);
|
||||
void gotRemoteOutput(const QString &output);
|
||||
void handleRemoteProcessStarted(Utils::Port gdbServerPort, const QUrl &qmlServer, int pid);
|
||||
void handleRemoteProcessStarted(Utils::Port gdbServerPort, const QUrl &qmlServer, qint64 pid);
|
||||
void handleRemoteProcessFinished(const QString &errString = QString());
|
||||
void checkAVD();
|
||||
void launchAVD();
|
||||
|
||||
@@ -225,7 +225,9 @@ AndroidRunnerWorker::AndroidRunnerWorker(RunWorker *runner, const QString &packa
|
||||
<< "Extra Start Args:" << m_amStartExtraArgs
|
||||
<< "Before Start ADB cmds:" << m_beforeStartAdbCommands
|
||||
<< "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());
|
||||
m_useAppParamsForQmlDebugger = version->qtVersion() >= QtSupport::QtVersionNumber(5, 12);
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@ public:
|
||||
void handleJdbSettled();
|
||||
|
||||
signals:
|
||||
void remoteProcessStarted(Utils::Port gdbServerPort, const QUrl &qmlServer, int pid);
|
||||
void remoteProcessStarted(Utils::Port gdbServerPort, const QUrl &qmlServer, qint64 pid);
|
||||
void remoteProcessFinished(const QString &errString = QString());
|
||||
|
||||
void remoteOutput(const QString &output);
|
||||
|
||||
@@ -294,7 +294,7 @@ private:
|
||||
const std::map<SdkManagerOutputParser::MarkerTag, const char *> markerTags {
|
||||
{SdkManagerOutputParser::MarkerTag::InstalledPackagesMarker, "Installed packages:"},
|
||||
{SdkManagerOutputParser::MarkerTag::AvailablePackagesMarkers, "Available Packages:"},
|
||||
{SdkManagerOutputParser::MarkerTag::AvailablePackagesMarkers, "Available Updates:"},
|
||||
{SdkManagerOutputParser::MarkerTag::AvailableUpdatesMarker, "Available Updates:"},
|
||||
{SdkManagerOutputParser::MarkerTag::PlatformMarker, "platforms"},
|
||||
{SdkManagerOutputParser::MarkerTag::SystemImageMarker, "system-images"},
|
||||
{SdkManagerOutputParser::MarkerTag::BuildToolsMarker, "build-tools"},
|
||||
|
||||
Reference in New Issue
Block a user