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. Android: This release is not compliant with the Google Play 64-bit requirement. How?

Android: This release is not compliant with the Google Play 64-bit requirement. How?

Scheduled Pinned Locked Moved Solved Mobile and Embedded
26 Posts 12 Posters 8.7k Views
  • 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.
  • G Offline
    G Offline
    Grisu
    wrote on 10 Jun 2019, 14:37 last edited by
    #14

    Hi,
    I tried like Suppaman has described. I uploaded three versions of the APK to my Alpha Track.
    If I try to "Submit it", I don't know what the english text is. In German it is "ALPHVERSION EINFÜHREN".
    I get the Warning that I have to use "Android App Bundle". This is a Warning I can not Ignore. I can't submit the version to the Playstore.

    0_1560177142611_3c8e3ddd-dd79-433b-823f-7816e81b7f80-image.png

    Hope you can help me

    Sebastian

    J 1 Reply Last reply 11 Jun 2019, 05:38
    0
    • G Grisu
      10 Jun 2019, 14:37

      Hi,
      I tried like Suppaman has described. I uploaded three versions of the APK to my Alpha Track.
      If I try to "Submit it", I don't know what the english text is. In German it is "ALPHVERSION EINFÜHREN".
      I get the Warning that I have to use "Android App Bundle". This is a Warning I can not Ignore. I can't submit the version to the Playstore.

      0_1560177142611_3c8e3ddd-dd79-433b-823f-7816e81b7f80-image.png

      Hope you can help me

      Sebastian

      J Online
      J Online
      jsulm
      Lifetime Qt Champion
      wrote on 11 Jun 2019, 05:38 last edited by
      #15

      @Grisu Did you do what "Warnungen" suggest you to do? What warnings are those?

      https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      0
      • T Offline
        T Offline
        Tuomo Pelkonen
        wrote on 13 Jun 2019, 16:30 last edited by
        #16

        I also followed Suppamans advice when trying to create internal test but was unable to get it to work:

        0_1560442631386_7d90239f-6f3b-4c1b-8932-79ec5dce0874-image.png
        0_1560442667209_ac35bff6-cc25-4019-9df1-e52a3dbcaa1d-image.png

        For the armeabi-v7a I get this warning

        0_1560443090201_4f1634a4-5506-4e42-a8c8-26c551cae056-image.png

        For arm64-v8a i get these

        0_1560443038515_ef451566-d981-4c34-8cfb-1547d96774f3-image.png

        So at least for me this does not seem to work. I have built these packages normally as before, only now adding the 64bit version as suggested. There are OpenSSL libraries bundled in the packages, 32bit version for 32bit apk and 64bit version for 64bit apk, if that matters anything.

        -Tuomo

        M 1 Reply Last reply 8 Jul 2019, 02:21
        1
        • D Offline
          D Offline
          deleted57
          wrote on 14 Jun 2019, 07:29 last edited by
          #17

          Me too have same problems. It would be useful to have a setp by step guide from Qt team regarding how to bypass the Google Play warning without have the new App Bundle Apk. Final timeline date of 1 august is very close and after this date, winthout a solution, it will be impossible to upload new app made with Qt Creator...

          M 1 Reply Last reply 8 Jul 2019, 02:33
          0
          • S Offline
            S Offline
            shob
            wrote on 20 Jun 2019, 07:03 last edited by
            #18

            We set different version code for the armv7, arm64 and x86 apks. We've been able to successfully upload the armv7 and arm64 apks to the same Google Play store item without receiving any warning messages.

            When we upload the x86 apk also along with the arm apks, we get a warning message for the 64bit requirement. I believe this is because of the missing x86_64 apk which is the 64bit variant for x86.

            I just noticed that https://bugreports.qt.io/browse/QTBUG-47672 is marked as resolved in Qt5.13.

            1 Reply Last reply
            0
            • S sierdzio
              24 May 2019, 07:11

              @Suppaman said in Android: This release is not compliant with the Google Play 64-bit requirement. How?:

              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:

              .pro

              # Increment by 3!
              ITERATION=1
              
              android:contains(QT_ARCH, i386) {
                    win32 {
                          ITERATION = $$system("set /a $$ITERATION + 1")
                      } else:unix {
                          ITERATION = $$system("echo $(($$ITERATION + 1))")
                      }
                  manifest.input = $$PWD/AndroidManifest.xml.in
                  manifest.output = $$PWD/i386/AndroidManifest.xml
                  QMAKE_SUBSTITUTES += manifest
              
              }
              
              contains(ANDROID_TARGET_ARCH, arm64-v8a) {
                  win32 {
                      ITERATION = $$system("set /a $$ITERATION + 2")
                  } else:unix {
                      ITERATION = $$system("echo $(($$ITERATION + 2))")
                  }
                  manifest.input = $$PWD/AndroidManifest.xml.in
                  manifest.output = $$PWD/arm64/AndroidManifest.xml
                  QMAKE_SUBSTITUTES += manifest
              }
              
              contains(ANDROID_TARGET_ARCH, armeabi-v7a) {
                  manifest.input = $$PWD/AndroidManifest.xml.in
                  manifest.output = $$PWD/arm32/AndroidManifest.xml
                  QMAKE_SUBSTITUTES += manifest
              }
              
              

              AndroidManifest.xml.in

              android:versionCode='"$${ITERATION}"'
              

              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.

              J Offline
              J Offline
              J.Hilk
              Moderators
              wrote on 28 Jun 2019, 09:18 last edited by
              #19

              hi @sierdzio

              I'm working on this now, too, release state, finally !!

              And I wanted to implement your version/build control

              Question if I may, why do you go the way over QMAKE_SUBSTITUTES instead of using the predefined variable ANDROID_VERSION_CODE ?

              Is it only to reduce the number of AndroidManifest.xml files down to 1, instead of 1 per build architecture ?


              Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


              Q: What's that?
              A: It's blue light.
              Q: What does it do?
              A: It turns blue.

              S 1 Reply Last reply 28 Jun 2019, 10:14
              0
              • J J.Hilk
                28 Jun 2019, 09:18

                hi @sierdzio

                I'm working on this now, too, release state, finally !!

                And I wanted to implement your version/build control

                Question if I may, why do you go the way over QMAKE_SUBSTITUTES instead of using the predefined variable ANDROID_VERSION_CODE ?

                Is it only to reduce the number of AndroidManifest.xml files down to 1, instead of 1 per build architecture ?

                S Offline
                S Offline
                sierdzio
                Moderators
                wrote on 28 Jun 2019, 10:14 last edited by
                #20

                @J.Hilk said in Android: This release is not compliant with the Google Play 64-bit requirement. How?:

                hi @sierdzio

                I'm working on this now, too, release state, finally !!

                Congrats :-)

                And I wanted to implement your version/build control

                Question if I may, why do you go the way over QMAKE_SUBSTITUTES instead of using the predefined variable ANDROID_VERSION_CODE ?

                Is it only to reduce the number of AndroidManifest.xml files down to 1, instead of 1 per build architecture ?

                Yes - I used to have separate manifests but it was very tedious to maintain them all.

                I also use QMAKE_SUBSTITUTES to keep a single version number, application name, the domain etc. - all info needed on all platforms (and also to update version string in doxygen configuration file).

                But definitely it's not a requirement to use QMAKE_SUBSTITUTES, just a convenience.

                (Z(:^

                J 1 Reply Last reply 28 Jun 2019, 10:45
                1
                • S sierdzio
                  28 Jun 2019, 10:14

                  @J.Hilk said in Android: This release is not compliant with the Google Play 64-bit requirement. How?:

                  hi @sierdzio

                  I'm working on this now, too, release state, finally !!

                  Congrats :-)

                  And I wanted to implement your version/build control

                  Question if I may, why do you go the way over QMAKE_SUBSTITUTES instead of using the predefined variable ANDROID_VERSION_CODE ?

                  Is it only to reduce the number of AndroidManifest.xml files down to 1, instead of 1 per build architecture ?

                  Yes - I used to have separate manifests but it was very tedious to maintain them all.

                  I also use QMAKE_SUBSTITUTES to keep a single version number, application name, the domain etc. - all info needed on all platforms (and also to update version string in doxygen configuration file).

                  But definitely it's not a requirement to use QMAKE_SUBSTITUTES, just a convenience.

                  J Offline
                  J Offline
                  J.Hilk
                  Moderators
                  wrote on 28 Jun 2019, 10:45 last edited by
                  #21

                  @sierdzio

                  thanks!

                  The only difference between the versions (at this moment at least) is the version code so I'm going with the following:

                  android {
                  
                  #   Android Version code, needs to be uped by 3! Automatic increase for v7a (+1) and v8a(+2). +0 for x86
                      ITERATION=1
                  
                      QT += androidextras
                  
                      SOURCES +=\
                              cpp/android/androidshareutils.cpp
                  
                      HEADERS +=\
                              cpp/android/androidshareutils.h
                  
                      ANDROID_VERSION_NAME = $$VERSION
                  
                      ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
                  
                      DISTFILES += \
                          android/res/drawable-hdpi/icon.png \
                          android/res/drawable-hdpi/splashLandscape.png \
                          android/res/drawable-hdpi/splashPortait.png \
                          ...
                          android/build.gradle \
                          android/gradle/wrapper/gradle-wrapper.jar \
                          android/gradle/wrapper/gradle-wrapper.properties \
                          android/gradlew \
                          android/gradlew.bat \
                          android/AndroidManifest.xml
                  
                      RESOURCES += translations.qrc
                  }
                  
                  contains(ANDROID_TARGET_ARCH, x86) {
                  
                      ANDROID_VERSION_CODE = $$ITERATION
                  }
                  
                  contains(ANDROID_TARGET_ARCH,armeabi-v7a) {
                      win32 {
                          ITERATION = $$system("set /a $$ITERATION + 1")
                      } else:unix {
                          ITERATION = $$system("echo $(($$ITERATION + 1))")
                      }
                  
                      ANDROID_VERSION_CODE = $$ITERATION
                  }
                  
                  contains(ANDROID_TARGET_ARCH, arm64-v8a) {
                      win32 {
                          ITERATION = $$system("set /a $$ITERATION + 2")
                      } else:unix {
                          ITERATION = $$system("echo $(($$ITERATION + 2))")
                      }
                      ANDROID_VERSION_CODE = $$ITERATION
                  }
                  

                  If I later on integrate precompiled libs or something along the line, then @Wiru 's solution may come in handy.
                  https://forum.qt.io/topic/104388/qt-5-12-4-armv7-application-not-working-if-arm64-libs-are-present


                  Also FYI for anyone who comes across this thread, there's now a blog post on the website https://blog.qt.io/blog/2019/06/28/comply-upcoming-requirements-google-play/

                  explaining step by step on how to comply with the play store requirements. Until Qt 5.14 - when the aab support is supposed to be added - goes online.


                  Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


                  Q: What's that?
                  A: It's blue light.
                  Q: What does it do?
                  A: It turns blue.

                  1 Reply Last reply
                  1
                  • G Offline
                    G Offline
                    Galbarad
                    wrote on 1 Jul 2019, 09:14 last edited by
                    #22

                    found useful link with detailed instruction
                    https://blog.qt.io/blog/2019/06/28/comply-upcoming-requirements-google-play/

                    1 Reply Last reply
                    1
                    • T Tuomo Pelkonen
                      13 Jun 2019, 16:30

                      I also followed Suppamans advice when trying to create internal test but was unable to get it to work:

                      0_1560442631386_7d90239f-6f3b-4c1b-8932-79ec5dce0874-image.png
                      0_1560442667209_ac35bff6-cc25-4019-9df1-e52a3dbcaa1d-image.png

                      For the armeabi-v7a I get this warning

                      0_1560443090201_4f1634a4-5506-4e42-a8c8-26c551cae056-image.png

                      For arm64-v8a i get these

                      0_1560443038515_ef451566-d981-4c34-8cfb-1547d96774f3-image.png

                      So at least for me this does not seem to work. I have built these packages normally as before, only now adding the 64bit version as suggested. There are OpenSSL libraries bundled in the packages, 32bit version for 32bit apk and 64bit version for 64bit apk, if that matters anything.

                      -Tuomo

                      M Offline
                      M Offline
                      mellon
                      wrote on 8 Jul 2019, 02:21 last edited by
                      #23

                      @Tuomo-Pelkonen
                      I have had the same experience. I created a new app in google console added 32 added 64bit versions following the blog by Eskill Abrahamsen Blomfeldtl. (which is a great help) The warning issue appears when you select the "SAVE" and "REVIEW" buttons which is currently beyond the scope of the Blog.

                      1 Reply Last reply
                      0
                      • D deleted57
                        14 Jun 2019, 07:29

                        Me too have same problems. It would be useful to have a setp by step guide from Qt team regarding how to bypass the Google Play warning without have the new App Bundle Apk. Final timeline date of 1 august is very close and after this date, winthout a solution, it will be impossible to upload new app made with Qt Creator...

                        M Offline
                        M Offline
                        mellon
                        wrote on 8 Jul 2019, 02:33 last edited by
                        #24

                        @Suppaman
                        Hi suppaman, I have not been able to publish a new app or update an existing app that complies with google as of a couple of weeks ago. I would like to update an existing app but google will not allow the process to get past the review stage.

                        1 Reply Last reply
                        0
                        • B Offline
                          B Offline
                          bogong
                          wrote on 10 Jul 2019, 14:02 last edited by
                          #25

                          Just got this message from Google

                           Hello Google Play Developer,
                          
                          By August 1, 2019, all apps that use native code must provide a 64-bit version in order to publish an update. As of the sending of this email, at least one of your apps* does not yet meet the requirement: 
                          
                          1 Reply Last reply
                          0
                          • A Offline
                            A Offline
                            Ahmed_Aniss
                            Banned
                            wrote on 21 Nov 2019, 09:53 last edited by
                            #26
                            This post is deleted!
                            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