Java 资源$NotFoundException在Android 4.4上

Java 资源$NotFoundException在Android 4.4上,java,android,Java,Android,我在活动中使用了ImageView中的vector,该应用程序在android 7.0上运行良好,但在android 4.4上崩溃。Logcat说,Resources$NotFoundException。我尝试过stackoverflow上发布的解决方案,但似乎没有一个有效 这些是我尝试过的解决方案 将此添加到我的gradle文件中 defaultConfig { vectorDrawables.useSupportLibrary = true } 在“活动创建”中添加了此选项 Ap

我在活动中使用了ImageView中的vector,该应用程序在android 7.0上运行良好,但在android 4.4上崩溃。Logcat说,
Resources$NotFoundException
。我尝试过stackoverflow上发布的解决方案,但似乎没有一个有效

这些是我尝试过的解决方案

  • 将此添加到我的gradle文件中

    defaultConfig {
        vectorDrawables.useSupportLibrary = true
    }
    
  • 在“活动创建”中添加了此选项

    AppCompatDelegate.setCompatVectorFromResourcesEnabled(true); 
    
  • 将XML文件中的
    android:src
    替换为
    app:srcCompat
  • 这是我的XML代码

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
    
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                app:srcCompat="@drawable/ic_arrow_back_white_24dp"
                android:tint="@color/colorPrimary"
                android:id="@+id/details_back"
                android:layout_margin="15dp"
                android:layout_alignParentStart="true"/>
    
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                app:srcCompat="@drawable/share"
                android:tint="@color/colorPrimary"
                android:id="@+id/details_share"
                android:layout_margin="15dp"
                android:layout_alignParentEnd="true"/>
    
        </RelativeLayout>
    

    此外,错误发生在第二个ImageView中,而不是第一个,尽管它们完全相同。我在java文件中处理的两个图像也完全相同。

    几天前我遇到了相同的问题。Android 4.4不支持在Android studio目录树中名称后以褪色字体书写的矢量(v21),这些矢量图形仅受API 21+支持。理想情况下,androidstudio应该将矢量分割成不同大小的PNG文件,但由于某些不清楚的原因,androidstudio有时不自己做

    看起来您正试图在上述场景中使用矢量图形作为“共享”图标,请尝试仅从Android Studio中的材质图标导入共享图标,这样导入的矢量也受Android 4.4支持

        ImageView detail_share;
        detail_share = (ImageView) findViewById(R.id.details_share);
        detail_share.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
    
                // code for sharing item
    
            }
        });