Pratik
Pratik

Reputation: 30855

Resources$NotFoundException - Resource ID #<address>

I am facing a lot of issue regarding Resoures$NotFoundException with many different device. I am unable to replicate this issue with my Samsung A50 (Android v11, One UI v3.1) and Nexus 5 (Android v6.0.1) devices. After I am using App Bundle this problem raises every day and even return to upload as APK file also have same issue. So I am not sure for which reason app is crashing.

Below is the trace report

Fatal Exception: android.view.InflateException: Binary XML file line #39: Binary XML file line #39: Error inflating class ImageButton

Caused by android.view.InflateException: Binary XML file line #39: Error inflating class ImageButton

Caused by android.content.res.Resources$NotFoundException: Drawable (missing name) with resource ID #0x7f0800ad

Caused by android.content.res.Resources$NotFoundException: Unable to find resource ID #0x7f0800ad
       at android.content.res.ResourcesImpl.getResourceName(ResourcesImpl.java:253)
       at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:760)
       at android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:630)
       at android.content.res.Resources.loadDrawable(Resources.java:886)
       at android.content.res.TypedArray.getDrawableForDensity(TypedArray.java:953)
       at android.content.res.TypedArray.getDrawable(TypedArray.java:928)
       at android.content.res.XResources$XTypedArray.getDrawable(XResources.java:1363)
       at android.widget.ImageView.<init>(ImageView.java:188)
       at android.widget.ImageButton.<init>(ImageButton.java:86)
       at android.widget.ImageButton.<init>(ImageButton.java:82)
       at androidx.appcompat.widget.AppCompatImageButton.<init>(AppCompatImageButton.java:3)
       at androidx.appcompat.widget.AppCompatImageButton.<init>(AppCompatImageButton.java:3)
       at androidx.appcompat.app.AppCompatViewInflater.createImageButton(AppCompatViewInflater.java:15)
       at androidx.appcompat.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:15)
       at androidx.appcompat.app.AppCompatDelegateImpl.createView(AppCompatDelegateImpl.java:15)
       at androidx.appcompat.app.AppCompatDelegateImpl.onCreateView(AppCompatDelegateImpl.java:15)
       at android.view.LayoutInflater$FactoryMerger.onCreateView(LayoutInflater.java:189)
       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:772)
       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
       at android.view.LayoutInflater.rInflate(LayoutInflater.java:863)
       at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
       at android.view.LayoutInflater.rInflate(LayoutInflater.java:866)
       at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
       at android.view.LayoutInflater.rInflate(LayoutInflater.java:866)
       at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
       at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
       at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
       at com.pn.namewallpaper.databinding.BsFontColorStyleBinding.bind(BsFontColorStyleBinding.java:4)
       at com.pn.namewallpaper.databinding.BsFontColorStyleBinding.inflate(BsFontColorStyleBinding.java:4)
       at com.pn.namewallpaper.fragments.FontColorStyle2BSDialog.Q(FontColorStyle2BSDialog.java:6)
       at androidx.fragment.app.Fragment.b0(Fragment.java:20)
       at androidx.fragment.app.DialogFragment.performCreateView(DialogFragment.java)
       at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:223)
       at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:154)
       at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1069)
       at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:91)
       at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:74)
       at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:3)
       at android.os.Handler.handleCallback(Handler.java:790)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loop(Looper.java:164)
       at android.app.ActivityThread.main(ActivityThread.java:6494)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

My xml layout file code below

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">

<HorizontalScrollView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="10dp">

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="5dp"
        android:gravity="center_vertical"
        android:orientation="horizontal">

        <FrameLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="0dp"
            android:layout_marginEnd="10dp"
            android:background="@drawable/rounded_spinner">

            <Spinner
                android:id="@+id/spColorStyle"
                style="@style/spinner"
                android:contentDescription="@string/style" />
        </FrameLayout>

        <ImageButton
            android:id="@+id/btnAngle"
            style="@style/ButtonStyle.Circle"
            android:layout_marginStart="0dp"
            android:layout_marginEnd="10dp"
            android:contentDescription="@string/rotate"
            android:src="@drawable/ic_arrow_angle" />

        <Button
            android:id="@+id/btnRandom"
            style="@style/ButtonStyle.BottomSheet"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="0dp"
            android:layout_marginEnd="10dp"
            android:text="@string/random" />

        <Button
            android:id="@+id/btnSame"
            style="@style/ButtonStyle.BottomSheet"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="0dp"
            android:layout_marginEnd="10dp"
            android:text="@string/same" />

    </LinearLayout>
</HorizontalScrollView>

I have attached crash report from Firebase Crashlytics

Crash Report

Thanks Please help me how can I fix this issue.

Upvotes: 1

Views: 3150

Answers (3)

Adil Raza Bangash
Adil Raza Bangash

Reputation: 295

This problem often occurs due to the missing resource in drawable but available in specific drawable folders like drawable-hdpi, drawable-mdpi, drawable-xhdpi and drawable-xxhdpi. To solve the issue put the specific resource in main drawable folder too. To find the which resource is creating the issue you can find that resource from provided id, in this case id is #0x7f0800ad. To find name from of resource form id in android studio click on and select your apk.

Build -> Analyze Apk -> Select apk

Below screen will open to you

enter image description here

  1. Click on resources.arsc
  2. Click on specific resource type which is casing the issue in this case its drawable.
  3. You will find all the resource with ids available in your apk. from here you can search for resource with provided id and add the specific resource in your main drawable folder too.

Upvotes: 3

Pratik
Pratik

Reputation: 30855

I fixed it, I have drawable vector icon along with png files in drawable-anydpi folder. I deleted all the vectors icon and just provide png icons only. Now no more crash report generated related to this issue.

Upvotes: 1

Sasi Kumar
Sasi Kumar

Reputation: 13348

some device not matched above directory drawable-hdpi, drawable-mdpi, drawable-xhdpi and drawable-xxhdpi that's what crash happened.

Put default image in the directory drawable. if anything matched it will take from the drawable. App wont crash

Upvotes: 1

Related Questions