Specify Android architecture in gradle files
When building for armeabi-v7a, building and APK using "ninja foo_make_apk" works. Building it by calling "gradlew assembleDebug" works. Opening the "android-build" folder in Android Studio and clicking the "Build" button works. But clicking the "Run" or "Debug" button in Android Studio does not work when the attached phone is arm64-v8a. Then Android Studio automatically selects the v8 architecture which does not find the Qt libraries. This patch adds explicit ABI selection to the gradle configuration files. With explicit ABI selection, Android Studio does not try to outsmart you. Pick-to: 6.2 Fixes: QTBUG-96701 Task-number: QTBUG-87022 Change-Id: I4ad6356c38b7eca004c0e0dbbb357cab7de84c0f Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
This commit is contained in:
parent
725b52141d
commit
07cfab07a2
@ -73,5 +73,6 @@ android {
|
||||
resConfig "en"
|
||||
minSdkVersion qtMinSdkVersion
|
||||
targetSdkVersion qtTargetSdkVersion
|
||||
ndk.abiFilters = qtTargetAbiList.split(",")
|
||||
}
|
||||
}
|
||||
|
@ -2560,7 +2560,13 @@ bool buildAndroidProject(const Options &options)
|
||||
gradleProperties["qtTargetSdkVersion"] = options.targetSdkVersion;
|
||||
if (gradleProperties["androidBuildToolsVersion"].isEmpty())
|
||||
gradleProperties["androidBuildToolsVersion"] = options.sdkBuildToolsVersion.toLocal8Bit();
|
||||
|
||||
QString abiList;
|
||||
for (auto it = options.architectures.constBegin(); it != options.architectures.constEnd(); ++it) {
|
||||
if (abiList.size())
|
||||
abiList.append(u",");
|
||||
abiList.append(it.key());
|
||||
}
|
||||
gradleProperties["qtTargetAbiList"] = abiList.toLocal8Bit();// armeabi-v7a or arm64-v8a or ...
|
||||
if (!mergeGradleProperties(gradlePropertiesPath, gradleProperties))
|
||||
return false;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user