Двоичный файл XML, строка №22: ошибка расширения класса ImageView, вызванная android .content.res.Resources $ NotFoundException только на корневых устройствах - PullRequest
0 голосов
/ 07 мая 2020

Прежде всего, я просмотрел все сообщения SO с похожей темой, и ни один из них не касался моей конкретной проблемы. Отличие заключается в том, что рассматриваемый ресурс ImageView - это файл .png, а не вектор, который можно рисовать, и проблема возникает только на устройствах с root-доступом (в моем случае - четырех разных). Некоторые работают под управлением Android 5.1, а одни - 7.1.2. Не работает изображение icon.png, которое существует в папках drawable и всех остальных drawable- *.

Вот журнал cra sh:

android. content.res.ResourcesImpl.getResourceName (ResourcesImpl. java: 228) android .content.res.ResourcesImpl.loadDrawableForCook ie (ResourcesImpl. java: 687) android .content.res.ResourcesImpl.loadDrawable (ResourcesImpl. java: 571) android .content.res.Resources.loadDrawable (Resources. java: 858) android .content.res.TypedArray.getDrawable (TypedArray. java: 928) android .widget.ImageView. (ImageView. java: 162) android .widget.ImageView. (ImageView. java: 150) androidx.appcompat.widget.AppCompatImageView. (AppCompatImageView. java: 72) androidx.appcompat.widget.AppCompatImageView. (AppCompatImageView. java: 68) androidx.appcompat.app.AppCompatViewInflater.createImageView (AppCompatViewInflater. java: 187) androidx.appcompat.app.AppCompatViewInflater.createView (AppCompatViewInflater. java: 107) androidx.appcompat. .AppCompatDelegateImpl.createView (AppCompatDelegateImpl. java: 1407) androidx.appcompat.app.AppCompatDelegateImpl.onCreateView (AppCompatDelegateImpl. java: 1457) android .view.LayoutInflater.createViewFromTag 1038 * .view.LayoutInflater.createViewFromTag (LayoutInflater. java: 727) android .view.LayoutInflater.rInflate (LayoutInflater. java: 858) android .view.LayoutInflater.rInflateChildren (java Flater. : 821) android .view.LayoutInflater.rInflate (LayoutInflater. java: 861) android .view.LayoutInflater.rInflateChildren (LayoutInflater. java: 821) android .view.LayoutInflater.inflate (LayoutInflater . java: 518) android .view.LayoutInflater.inflate (LayoutInflater. java: 426) android .view.LayoutInflater.inflate (LayoutInflater. java: 377) androidx.appcompat.app.AppCompatDelegateImpl.setContentView (AppCompatDelegateImpl. java: 555) androidx.appcompat.app.AppCompatActivity.setContentView (AppCompatActivity. java: 161) uomini.com.wegrok.LaunchActivity (LaunchActivity. java: 325) android .app.Activity.performCreate (Activity. java: 6682) android .app.Instrumentation.callActivityOnCreate (Instrumentation. java: 1118) android .app .ActivityThread.performLaunchActivity (ActivityThread. java: 2619) android .app.ActivityThread.handleLaunchActivity (ActivityThread. java: 2727) android .app.ActivityThread.-wrap12 (ActivityThread. java) android .app.ActivityThread $ H.handleMessage (ActivityThread. java: 1478) android .os.Handler.dispatchMessage (Handler. java: 102) android .os.Looper.l oop (Looper . java: 154) android .app.ActivityThread.main (ActivityThread. java: 6121) java .lang.reflect.Method.invoke (Method. java) com. android .internal .os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit. java: 889) com. android .internal.os.Zygot eInit.main (ZygoteInit. java: 779)

Файл макета имеет следующий вид:

<androidx.drawerlayout.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">

<include
    layout="@layout/app_bar_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

<RelativeLayout
    android:id="@+id/topLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <ImageView
        android:id="@+id/app_logo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:layout_centerHorizontal="true"
        android:src="@drawable/icon"/>

    <TextView
        android:id="@+id/welcome"
        android:layout_below="@+id/app_logo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        android:layout_centerHorizontal="true"
        android:text="@string/welcome"
        android:visibility="invisible"
        android:textSize="20sp"
        android:textStyle="bold" />

    <com.facebook.login.widget.LoginButton
        android:id="@+id/login_button"
        android:layout_below="@+id/welcome"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="12dp"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="15dp" />

    <TextView android:id="@+id/version"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/login_button"
        android:layout_marginTop="80dp"
        android:textStyle="italic"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="10dp"
        android:textSize="12sp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/version"
        android:layout_centerHorizontal="true"
        android:layout_alignParentBottom="true"
        android:textSize="12sp"
        android:text="@string/copyright"/>

    <ProgressBar
        android:id="@+id/progressBar"
        style="@style/Widget.AppCompat.ProgressBar"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:visibility="invisible"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
</RelativeLayout>
<com.google.android.material.navigation.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:fitsSystemWindows="true"
    app:headerLayout="@layout/nav_header_main"
    app:menu="@menu/activity_main_drawer" />

...