Android: cannot find solution about [A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade]
-
Actually i'm new in qt and mobile application developing.
I have some questions in android building application.- When i set Android build SDK to android-21 in build option. error message below comes
- What went wrong:
Execution failed for task ':processDebugResources'.
A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
Android resource linking failed
/Users/.../Qt_project/build-scrollView-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_15_0_for_Android-Debug/android-build/AndroidManifest.xml:15:5-85:19: AAPT: error: attribute android:extractNativeLibs not found.
I searched for solutions but only solution i found was "use newer SDK".
I wanna make my app covers Android 5.0 minimum. how can i solve this??- if i build with SDK android-api21, does it runs on all later version of Android os??
-
I have the same issue for android-17 with 5.15.* and 5.14.*
Can applications based on that Qt versions be compiled for such old Android devices? -
First of all, I want to make clear the info about supported android API versions.
As stated here: https://doc.qt.io/qt-5.14/android.html,
Qt 5.14 (and 5.15), support only API 21 or later.
But Qt 5.12 and 5.9 support API 16+ (https://doc.qt.io/qt-5.12/android.html, https://doc.qt.io/qt-5.9/android-support.html).As I understand, you don't really need to change android SDK version in build options to support the lower API, as minimum possible API automaticly set to minimum supported by your version of Qt.
So technically if you just compile your code in Qt 5.12 without changes in default build options (it is "SDK: android-30" now), it gonna support API 16 or later. Or at least it works fine for me with device emulators (API 16) and a real tablet (API 17).
The same goes for Qt 5.15 (API 21+), checked it for real device with API 23.Here explained some important differences between supported android API version of your app and required android SDK version for Qt, which probably can be confusing (smth like API != SDK and usually API < SDK):
https://wiki.qt.io/Android => only section "Manual Installation".
It described for old Qt versions, and I suppose similar principles work for newer. Thats why you get build errors in case if "SDK: android-23", but option "SDK: android-28" works on API 23 (just example).And I'm new in Qt too, so it would be nice if anyone correct me if there are errors.