androiddeployqt and new Google Play requirement
-
First of all, thank you for your product, Qt is awesome :) I wish all frameworks would have so good documentation, support for everything and work so well.
Unfortunately I have a problem and would be very grateful if you guys could help me.
As you probably know, Starting from August 2019 Google Play requires from developers to make support for both: arm64-v8a and armv7. They provided steps how to do it by using NDK:
https://developer.android.com/distribute/best-practices/develop/64-bit
I could not find a description how to use androiddeployqt for APK with more than one architectures. Currently I am able to build and prepare valid APKs for both of these architectures, but I dont have an idea how to make one APK with both of themI know that the APK is just a ZIP file, so I was wondering if I can just add a new directory with the second architecture in the /lib/ path, but when I compared these two APKs I realized, that the manifest is also different and unfortunatelly it is only one for all of the architectures and there is a lot of differences.
I also tried to add an additional --input parameter for the androiddeployqt command, but it looks like the tool does not support it and always takes the last of the given inputs.
Moreover as a desperate try, I added an additional architecture to the build.grant as it is in the NDK description:
android{ defaultConfig { ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64' } ... THE REST }
but it changed nothing...
Here is the deploy command I have used:
androiddeployqt --input $BUILD_DIR/armv7/src/$APP_NAME/android-lib$APP_NAME.so-deployment-settings.json --input $BUILD_DIR/arm64_v8a/src/$APP_NAME/android-lib$APP_NAME.so-deployment-settings.json --output \"$DEPLOY_DIR\" --name $APP_NAME --deployment bundled --android-platform android-$TARGET_ANDROID_SDK_LEVEL --jdk /usr/lib/jvm/default-java --gradle
Did anyone try to make it work? I cannot find anything on this topic in the Internet. Does anyone know how to prepare this APK with 2 architectures by using androiddeployqt? Or maybe there is some other way I can prepare this APK in a fast way?
Best Regards and thanks in advance for your help
-
Hi @JohnAmadis,
there has been several discussions recently, e.g. https://forum.qt.io/topic/102833/android-this-release-is-not-compliant-with-the-google-play-64-bit-requirement-how
I'm not completely sure about the outcome, but you might find some inspirations.
Regards
-
Thank you very much, I will check that
-
@JohnAmadis said in androiddeployqt and new Google Play requirement:
I could not find a description how to use androiddeployqt for APK with more than one architectures. Currently I am able to build and prepare valid APKs for both of these architectures, but I dont have an idea how to make one APK with both of them
AFAIK its not necessary to bundle the different archs in a single APK.
You can also upload them separately to the Play Store, which also has the benefit of smaller APK sizes to download. -
@raven-worx said in androiddeployqt and new Google Play requirement:
the
I searched for this now and it seems that you are right. That solves my problem, thanks you a lot! The description from the email was misleading and I was sure that I have to do it in one APK. Even it makes more sense :)