Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. androiddeployqt and new Google Play requirement
Forum Updated to NodeBB v4.3 + New Features

androiddeployqt and new Google Play requirement

Scheduled Pinned Locked Moved Solved Mobile and Embedded
5 Posts 3 Posters 657 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J Offline
    J Offline
    JohnAmadis
    wrote on last edited by
    #1

    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 them

    I 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

    aha_1980A raven-worxR 2 Replies Last reply
    0
    • J JohnAmadis

      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 them

      I 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

      aha_1980A Offline
      aha_1980A Offline
      aha_1980
      Lifetime Qt Champion
      wrote on last edited by
      #2

      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

      Qt has to stay free or it will die.

      1 Reply Last reply
      1
      • J Offline
        J Offline
        JohnAmadis
        wrote on last edited by
        #3

        Thank you very much, I will check that

        1 Reply Last reply
        0
        • J JohnAmadis

          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 them

          I 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

          raven-worxR Offline
          raven-worxR Offline
          raven-worx
          Moderators
          wrote on last edited by
          #4

          @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.

          --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
          If you have a question please use the forum so others can benefit from the solution in the future

          1 Reply Last reply
          3
          • J Offline
            J Offline
            JohnAmadis
            wrote on last edited by
            #5

            @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 :)

            1 Reply Last reply
            0

            • Login

            • Login or register to search.
            • First post
              Last post
            0
            • Categories
            • Recent
            • Tags
            • Popular
            • Users
            • Groups
            • Search
            • Get Qt Extensions
            • Unsolved