Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-89551

androiddeployqt uses host rcc with compression level not supported on target

    XMLWordPrintable

    Details

    • Platform/s:
      Android
    • Commits:
      f037357232c2157d942ad9a104543d087f8a043b

      Description

      Issue:

      Given

      • host CMake Qt build with zstd support and
      • an Android target Cmake Qt build without zstd support

      When

      • building an application for Android with CMake

      Then

      • androiddeployqt will run rcc with default compression options to generate android_rcc_bundle.rcc, which means zstd and
      • the resulting Android app will try to load the the assets with QResource::registerResource (in androidjnimain.cpp), which
      • will silently fail as the compression flag indicates an unsupported scheme.
      • leading finally to a hard-to-debug application failure if the files in android_rcc_bundle.rcc were needed.

      Tasks:

      • androiddeployqt should call rcc with a compression scheme supported by the target
      • androidjnimain.cpp should issue a critical warning if registerResource fails
      • QResource::registerResource should ideally have an overload which returns a "reason enum" indicating why it failed.

        Attachments

          Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            Activity

              People

              Assignee:
              qtbuildsystem Qt Build System Team
              Reporter:
              fabiankosmale Fabian Kosmale
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Gerrit Reviews

                  There are no open Gerrit changes