Orcazephyr
Orcazephyr

Reputation: 93

Unable to start activity ComponentInfo{com.mypackage/com.google.android.gms.ads.NotificationHandlerActivity}

Firebase crashlytics has indicated a crash occuring on android 11 (API 30) Nexus 5X with the following stack trace...

Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mypackage/com.google.android.gms.ads.NotificationHandlerActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3449)
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3601)
       at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
       at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
       at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loop(Looper.java:223)
       at android.app.ActivityThread.main(ActivityThread.java:7656)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference
       at com.google.android.gms.internal.ads.zzefa.zze(com.google.android.gms:play-services-ads@@22.6.0:2)
       at com.google.android.gms.ads.NotificationHandlerActivity.onCreate(com.google.android.gms:play-services-ads-lite@@22.6.0:4)
       at android.app.Activity.performCreate(Activity.java:7994)
       at android.app.Activity.performCreate(Activity.java:7978)
       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3422)
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3601)
       at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
       at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
       at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loop(Looper.java:223)
       at android.app.ActivityThread.main(ActivityThread.java:7656)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)

I have tried to reproduce this issue, but I have not been successful. It seems to be an internal issue with google ads, but I am unsure if it is. I don't know where to look in my app for code that could have caused this crash, since the stacktrace doesn't refrence a single line of my own code. If it helps, here is my build.gradle that includes my dependencies

project level

buildscript {
    dependencies {
        classpath("com.google.gms:google-services:4.4.0")
    }
}

plugins {
    id("com.android.application") version "8.2.1" apply false
    id("com.android.library") version "8.2.1" apply false
    id("com.google.gms.google-services") version "4.4.0" apply false
    id("com.google.firebase.crashlytics") version "2.9.9" apply false
    id("com.google.firebase.firebase-perf") version "1.4.2" apply false
    kotlin("android") version "1.8.10" apply false
}

module level

plugins {
    id("com.android.application")
    id("org.jetbrains.kotlin.android")
    id("com.google.gms.google-services")
    id("com.google.firebase.crashlytics")
    id("com.google.firebase.firebase-perf")
}

android {
    namespace = "com.mypackage"
    compileSdk = 34

    defaultConfig {
        applicationId = "com.mypackage"
        minSdk = 29
        targetSdk = 34
        versionCode = 8
        versionName = "myversion"

        testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        debug {
            isMinifyEnabled = false
            isDebuggable = true
            isShrinkResources = false
        }
        
        release {
            isMinifyEnabled = true
            isDebuggable = false
            isShrinkResources = true
            proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
            signingConfig = signingConfigs["debug"]
        }
    }

    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }

    buildFeatures {
        viewBinding = true
        buildConfig = true
    }
}

dependencies {
    // Firebase Libraries
    implementation(platform("com.google.firebase:firebase-bom:32.7.0"))
    implementation("com.google.firebase:firebase-analytics")
    implementation("com.google.firebase:firebase-crashlytics")
    implementation("com.google.firebase:firebase-perf")
    implementation("com.google.firebase:firebase-inappmessaging-display")

    // Google Play Services
    implementation("com.google.android.gms:play-services-maps:18.2.0")
    implementation("com.google.android.gms:play-services-location:21.0.1")
    implementation("com.google.android.gms:play-services-ads:22.6.0")
    implementation("com.google.android.play:review-ktx:2.0.1")

    // Google Libraries
    implementation("com.google.guava:guava:32.1.3-jre")
    implementation("com.google.android.libraries.places:places:3.3.0")
    implementation("com.google.maps.android:android-maps-utils:3.8.0")
    implementation("com.android.billingclient:billing-ktx:6.1.0")
    implementation("com.google.android.material:material:1.11.0")

    // AndroidX Libraries
    implementation("androidx.concurrent:concurrent-futures-ktx:1.1.0")
    implementation("androidx.work:work-runtime:2.9.0")
    implementation("androidx.core:core-ktx:1.12.0")
    implementation("androidx.appcompat:appcompat:1.6.1")
    implementation("androidx.constraintlayout:constraintlayout:2.1.4")
    implementation("androidx.navigation:navigation-fragment-ktx:2.7.6")
    implementation("androidx.navigation:navigation-ui-ktx:2.7.6")
    implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0")
    implementation("androidx.fragment:fragment-ktx:1.6.2")

    // KotlinX Libraries
    implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3")

    // Compose Libraries
    implementation("androidx.compose.material3:material3:1.1.2")
    implementation("com.google.android.material:compose-theme-adapter-3:1.1.1")

    // Other Libraries
    implementation("com.luckycatlabs:SunriseSunsetCalculator:1.2")
    implementation("com.github.mmin18:realtimeblurview:1.2.1")
    implementation("com.squareup.picasso:picasso:2.71828")
    implementation(project(":nativetemplates"))

    // Testing Libraries
    testImplementation("junit:junit:4.13.2")
    androidTestImplementation("androidx.test.ext:junit:1.1.5")
    androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
}

Upvotes: 3

Views: 182

Answers (1)

Roj
Roj

Reputation: 368

I have often received similar, or the same, stack traces for a Nexus 5X …

Fatal Exception: java.lang.RuntimeException Unable to start activity ComponentInfo{com.xxxx.xxxx/com.google.android.gms.ads.NotificationHandlerActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference

.. soon after releasing a new version to the Google Play Store.

After a bit of Googling these Nexus 5X crash reports appear to be related to Google Play Store testing, for example https://issuetracker.google.com/issues/268432128.

I would just tend to ignore any reported crashes from a Nexus 5X. According to Wikipedia the Nexus 5X was discontinued in 2016 so these devices are unlikely to make up any significant percentage of the real app install base anyway.

Upvotes: 1

Related Questions