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:
Orgad Shaneh
2019-12-06 13:04:17 +02:00
145 changed files with 2761 additions and 634 deletions

View File

@@ -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());

View File

@@ -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";

View File

@@ -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

View File

@@ -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);

View File

@@ -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);

View File

@@ -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;

View File

@@ -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();

View File

@@ -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);
}

View File

@@ -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);

View File

@@ -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"},