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

Crash on Android 11 when adding firebase-crashlytics-ndk

    XMLWordPrintable

Details

    • Bug
    • Resolution: Incomplete
    • P1: Critical
    • None
    • 5.15.1
    • Packaging & Installer
    • NDK Version: 19.2.5345600
      Android build SDK: android-29

    Description

      When I add 

      implementation 'com.google.firebase:firebase-crashlytics-ndk:17.2.1'
      

      to the build.gradle file the app crashes with the following output

      W System.err: java.lang.Exception:W System.err: java.lang.Exception:
      W System.err:  at org.qtproject.qt5.android.bindings.QtLoader.loadApplication(QtLoader.java:268)
      W System.err:  at org.qtproject.qt5.android.bindings.QtLoader.startApp(QtLoader.java:505)
      W System.err:  at org.qtproject.qt5.android.bindings.QtActivityLoader.onCreate(QtActivityLoader.java:166)
      W System.err:  at org.qtproject.qt5.android.bindings.QtActivity.onCreateHook(QtActivity.java:267)
      W System.err:  at org.qtproject.qt5.android.bindings.QtActivity.onCreate(QtActivity.java:274)
      W System.err:  at android.app.Activity.performCreate(Activity.java:8000)
      W System.err:  at android.app.Activity.performCreate(Activity.java:7984)
      W System.err:  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
      W System.err:  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3422)
      W System.err:  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3601)
      W System.err:  at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
      W System.err:  at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
      W System.err:  at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
      W System.err:  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
      W System.err:  at android.os.Handler.dispatchMessage(Handler.java:106)
      W System.err:  at android.os.Looper.loop(Looper.java:223)
      W System.err:  at android.app.ActivityThread.main(ActivityThread.java:7656)
      W System.err:  at java.lang.reflect.Method.invoke(Native Method)
      W System.err:  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
      W System.err:  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
      

      and a dailog with "Your application encountered a fatal error and cannot continue."

      This only happens on Android 11. It can be reproduced by creating a new project, create templates and modify the build.gradle file like below.

      buildscript {
          repositories {
              google()
              jcenter()
          }
      
          dependencies {
              classpath 'com.android.tools.build:gradle:3.6.0'
              classpath 'com.google.gms:google-services:4.3.3'  // Google Services plugin
              classpath 'com.google.firebase:firebase-crashlytics-gradle:2.3.0' // Add the Crashlytics Gradle plugin.
          }
      }
      
      repositories {
          google()
          jcenter()
      }
      
      allprojects {
        repositories {
          google()
        }
      }
      
      apply plugin: 'com.android.application'
      apply plugin: 'com.google.gms.google-services'
      apply plugin: 'com.google.firebase.crashlytics'
      
      dependencies {
          implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
          implementation 'com.google.firebase:firebase-crashlytics-ndk:17.2.1'
      }
      
      android {
          /*******************************************************
           * The following variables:
           * - androidBuildToolsVersion,
           * - androidCompileSdkVersion
           * - qt5AndroidDir - holds the path to qt android files
           *                   needed to build any Qt application
           *                   on Android.
           *
           * are defined in gradle.properties file. This file is
           * updated by QtCreator and androiddeployqt tools.
           * Changing them manually might break the compilation!
           *******************************************************/
      
          compileSdkVersion androidCompileSdkVersion.toInteger()
      
          buildToolsVersion '28.0.3'
      
          sourceSets {
              main {
                  manifest.srcFile 'AndroidManifest.xml'
                  java.srcDirs = [qt5AndroidDir + '/src', 'src', 'java']
                  aidl.srcDirs = [qt5AndroidDir + '/src', 'src', 'aidl']
                  res.srcDirs = [qt5AndroidDir + '/res', 'res']
                  resources.srcDirs = ['resources']
                  renderscript.srcDirs = ['src']
                  assets.srcDirs = ['assets']
                  jniLibs.srcDirs = ['libs']
             }
          }
      
          lintOptions {
              abortOnError false
          }
      
          // Do not compress Qt binary resources file
          aaptOptions {
              noCompress 'rcc'
          }
      
          defaultConfig {
              resConfig "en"
              minSdkVersion = qtMinSdkVersion
              targetSdkVersion = qtTargetSdkVersion
          }
      }
      
      

      Changing the line to the following works fine

      implementation 'com.google.firebase:firebase-crashlytics:17.2.1'
      

      Attachments

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

        Activity

          People

            samuelmira Samuel Mira
            adamsimmons Adam Simmons
            Votes:
            2 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes