Fix minSdkVersion in deploy step

Deploy step uses AndroidManager::minimumSDK() which looks for the
version in the AndroidManifest.xml file which used to contain the
minimum and target sdk, but if the manifest doesn't contain that
value, this logic returns 0. So, return the defaultMinimumSDK()
in case the first way fails.

Change-Id: Id10e552d7c8de4d3544b7fa8f26ae5dd9e974df5
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
Assam Boudjelthia
2021-09-05 19:16:49 +03:00
parent c1dff744a0
commit e92418edca
2 changed files with 10 additions and 6 deletions

View File

@@ -143,7 +143,10 @@ int AndroidManager::minimumSDK(const Target *target)
QDomDocument doc;
if (!openXmlFile(doc, AndroidManager::manifestSourcePath(target)))
return minimumSDK(target->kit());
return parseMinSdk(doc.documentElement());
const int minSdkVersion = parseMinSdk(doc.documentElement());
if (minSdkVersion == 0)
return AndroidManager::defaultMinimumSDK(QtSupport::QtKitAspect::qtVersion(target->kit()));
return minSdkVersion;
}
/*!
@@ -152,17 +155,19 @@ int AndroidManager::minimumSDK(const Target *target)
*/
int AndroidManager::minimumSDK(const Kit *kit)
{
int minSDKVersion = -1;
int minSdkVersion = -1;
QtSupport::BaseQtVersion *version = QtSupport::QtKitAspect::qtVersion(kit);
if (version && version->targetDeviceTypes().contains(Constants::ANDROID_DEVICE_TYPE)) {
FilePath stockManifestFilePath = FilePath::fromUserInput(
version->prefix().toString() + "/src/android/templates/AndroidManifest.xml");
QDomDocument doc;
if (openXmlFile(doc, stockManifestFilePath)) {
minSDKVersion = parseMinSdk(doc.documentElement());
minSdkVersion = parseMinSdk(doc.documentElement());
}
}
return minSDKVersion;
if (minSdkVersion == 0)
return AndroidManager::defaultMinimumSDK(version);
return minSdkVersion;
}
QString AndroidManager::buildTargetSDK(const Target *target)