Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Google Play Prelaunch Report Crash

I recently released an app to Google Play, however I'm getting this error -

java.lang.NoSuchMethodError: No static method createWithResource(Landroid/content/res/Resources;Ljava/lang/String;I)Landroidx/core/graphics/drawable/IconCompat; in class Landroidx/core/graphics/drawable/IconCompat; or its super classes (declaration of 'androidx.core.graphics.drawable.IconCompat' appears in base.apk)

The stack trace points to this line of code addAction(R.drawable.ic_baseline_close_24dp, context.getString(R.string.lbl_cancel), cancelIntent) in my NotificationUtils method

fun createNotificationBuilder(
    context: Context,
    notificationTitle: String,
    message: String?,
    channelId: String,
    channelName: String,
    contentIntent: PendingIntent = getMainLauncherIntent(context.applicationContext),
    cancelIntent: PendingIntent? = null,
    showProgress: Boolean = false,
    ongoing: Boolean = false,
    autoCancel: Boolean = true,
): NotificationCompat.Builder {
 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        createNotificationChannel(context.applicationContext, channelId, channelName)
    }
    val builder = NotificationCompat.Builder(context.applicationContext, channelId).apply {
        setContentTitle(notificationTitle)

        if (message != null) {
            setContentText(message)
        }

        setTicker(notificationTitle)
        setSmallIcon(R.drawable.ic_launcher_foreground)
        setContentIntent(contentIntent)
        setOngoing(ongoing)
        setOnlyAlertOnce(true)
        setAutoCancel(autoCancel)

        if (showProgress) {
            setProgress(MAX_PROGRESS, 0, false)
        }

        if (cancelIntent != null) {
           addAction(R.drawable.ic_baseline_close_24dp, context.getString(R.string.lbl_cancel), cancelIntent)
        }
    }

    return builder
}

However I can't seem to reproduce the issue. I see some other posts that mention they had some android support library in libs that was some older android support library, but I don't think I have any. I only have this swipe-reveal-layout library in my libs. My project can be found here.

like image 998
Oliver Song Avatar asked Oct 14 '25 07:10

Oliver Song


1 Answers

For me, this was related to the 29.0.3 release of Google Firebase BOM. (and/or the things changed in the BOM, if you don't use the BOM and use the specific components, if so, see the Firebase BOM release page for the package changes between releases)

Reverting from:

implementation com.google.firebase:firebase-bom:29.0.3

To:

implementation com.google.firebase:firebase-bom:29.0.2

Completely solved my issue. I hope this helps others.

If you aren't using BOM, then revert com.google.firebase:firebase-core and com.google.firebase:firebase-analytics both back to: 20.0.1

like image 94
Mike Macpherson Avatar answered Oct 18 '25 23:10

Mike Macpherson



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!