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

androiddeployqt uses host rcc with compression level not supported on target

    XMLWordPrintable

Details

    • Android
    • 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

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

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes