forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/4.8'
Conflicts: src/plugins/coreplugin/dialogs/externaltoolconfig.ui Change-Id: Ie38e9028cee599578c59b22325d85c097335243e
This commit is contained in:
@@ -186,9 +186,10 @@ void AndroidDebugSupport::start()
|
||||
gdbServer.setPort(m_runner->gdbServerPort().number());
|
||||
setRemoteChannel(gdbServer);
|
||||
|
||||
int sdkVersion = qMax(AndroidManager::minimumSDK(target), AndroidManager::minimumNDK(target));
|
||||
Utils::FileName sysRoot = AndroidConfigurations::currentConfig().ndkLocation()
|
||||
.appendPath("platforms")
|
||||
.appendPath(QString("android-%1").arg(AndroidManager::minimumSDK(target)))
|
||||
.appendPath(QString("android-%1").arg(sdkVersion))
|
||||
.appendPath(toNdkArch(AndroidManager::targetArch(target)));
|
||||
setSysRoot(sysRoot);
|
||||
qCDebug(androidDebugSupportLog) << "Sysroot: " << sysRoot;
|
||||
|
||||
@@ -247,6 +247,13 @@ int AndroidManager::minimumSDK(const ProjectExplorer::Kit *kit)
|
||||
return minSDKVersion;
|
||||
}
|
||||
|
||||
int AndroidManager::minimumNDK(ProjectExplorer::Target *target)
|
||||
{
|
||||
auto qt = static_cast<Android::Internal::AndroidQtVersion *>(
|
||||
QtSupport::QtKitInformation::qtVersion(target->kit()));
|
||||
return qt->mininmumNDK();
|
||||
}
|
||||
|
||||
QString AndroidManager::buildTargetSDK(ProjectExplorer::Target *target)
|
||||
{
|
||||
auto androidBuildApkStep
|
||||
|
||||
@@ -89,6 +89,7 @@ public:
|
||||
|
||||
static int minimumSDK(ProjectExplorer::Target *target);
|
||||
static int minimumSDK(const ProjectExplorer::Kit *kit);
|
||||
static int minimumNDK(ProjectExplorer::Target *target);
|
||||
|
||||
static QString targetArch(ProjectExplorer::Target *target);
|
||||
|
||||
|
||||
@@ -123,9 +123,25 @@ QString AndroidQtVersion::targetArch() const
|
||||
return m_targetArch;
|
||||
}
|
||||
|
||||
int AndroidQtVersion::mininmumNDK() const
|
||||
{
|
||||
ensureMkSpecParsed();
|
||||
return m_minNdk;
|
||||
}
|
||||
|
||||
void AndroidQtVersion::parseMkSpec(ProFileEvaluator *evaluator) const
|
||||
{
|
||||
m_targetArch = evaluator->value(QLatin1String("ANDROID_TARGET_ARCH"));
|
||||
const QString androidPlatform = evaluator->value(QLatin1String("ANDROID_PLATFORM"));
|
||||
if (!androidPlatform.isEmpty()) {
|
||||
const QRegExp regex("android-(\\d+)");
|
||||
if (regex.exactMatch(androidPlatform)) {
|
||||
bool ok = false;
|
||||
int tmp = regex.cap(1).toInt(&ok);
|
||||
if (ok)
|
||||
m_minNdk = tmp;
|
||||
}
|
||||
}
|
||||
BaseQtVersion::parseMkSpec(evaluator);
|
||||
}
|
||||
|
||||
|
||||
@@ -55,10 +55,12 @@ public:
|
||||
|
||||
QString description() const override;
|
||||
QString targetArch() const;
|
||||
int mininmumNDK() const;
|
||||
protected:
|
||||
void parseMkSpec(ProFileEvaluator *) const override;
|
||||
private:
|
||||
mutable QString m_targetArch;
|
||||
mutable int m_minNdk = -1;
|
||||
};
|
||||
|
||||
} // namespace Internal
|
||||
|
||||
Reference in New Issue
Block a user