The APK file is a ZIP
Through QtCreator it is necessary to create both signed 32 and 64 bit versions.
unzip both files and move the lib/arm64-v8a folder to the 32-bit folder.
recreate the apk file using the zip command
run zipalign and apksigner to create the APK file to send to Google Play Store
I use Android for armeabi-v7a (Clang Qt 5.12.3 for Android armv7)
I use Qt Creator 5.12.2
Target device - smartphone
Android version 6
Crash application when I start the function of sending SMS
My smartphone is able to send SMS
However is not very clear to me the procedre to upload multiple apk compiled with different libraries. I guess the documentation is this but I don't understand very well this point:
Each APK must have a different version code, specified by the android:versionCode attribute.
That's mean if I want to upload an app version in two configuration 32 and 64 bit I have to upload the first apk 32 bit with version code, example, 1 and than upload the same apk but 64 bit with version code 2?
Yes, exactly. This can be done automatically using QMAKE_SUBSTITUTES:
With this you only have to maintain a single AndroidManifest, and all builds will get separate version code. You just have to remember to bump ITERATION by 3 every time you want to upload a new version to Play Store.
@SGaist I'm using SDK 26.1.1 and NDK 19.2.5345600, but I solved the problem. I was able to find the JSON file generated by qmake and included it in the input flag for androiddeployqt. The app built successfully and deploys to the emulator.
In the event someone else runs across this, I was blindly using a BeagleBone Black image that was running an lxqt version of Debian. So it had QT libraries already installed on it, that were conflicting. I purged all QT libs and installs from the image, rsynced the sysroot again, and it built without issue. So take a look at your sysroot and verify there aren't any pre-existing QT libraries, headers, or things of that nature before trying to cross-compile to it. Good luck.
@Scarlet I solved the problem, iPhone was caching bluetooth data for the peripheral which is why it was always discovering the same service and characteristic. Turning bluetooth off and on again on iPhone fixed the problem. Hopefully this might help someone who runs into the same issue.
@ekkescorner Tank you so much!
P.S. By the way, Build steps by GCC doesn't work properly it runs clang as I see
(clang: error: unknown argument: '-mandroid')
But the clang script works fine
So after a lot of investigation the problem is when legacy build system is used. The workaround is that you can build successfully with command line and after that just to deploy the app. If build system is switched to New build system(modern one), a lot of other problems occured. There is Qt bug with low priority for new build system: https://bugreports.qt.io/browse/QTBUG-71035.