Ресурсы $NotFoundException: Файл res/drawable/abc_ic_ab_back_material.xml

После решения ошибки нулевого значения JDK, теперь я сталкиваюсь с этим. Я провел небольшое исследование, но, похоже, я не могу добраться до сути. Вот ошибка журнала:

FATAL EXCEPTION: main
 E/AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{.MainActivity}: android.content.res.Resources$NotFoundException: File res/drawable/abc_ic_ab_back_material.xml from drawable resource ID #0x7f020013
 E/AndroidRuntime:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2204)
 E/AndroidRuntime:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2254)
 E/AndroidRuntime:     at android.app.ActivityThread.access$600(ActivityThread.java:141)
 E/AndroidRuntime:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
 E/AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:99)
 E/AndroidRuntime:     at android.os.Looper.loop(Looper.java:137)
 E/AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:5069)
 E/AndroidRuntime:     at java.lang.reflect.Method.invokeNative(Native Method)
 E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Method.java:511)
 E/AndroidRuntime:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
 E/AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
 E/AndroidRuntime:     at dalvik.system.NativeStart.main(Native Method)
 E/AndroidRuntime:  Caused by: android.content.res.Resources$NotFoundException: File res/drawable/abc_ic_ab_back_material.xml from drawable resource ID #0x7f020013
 E/AndroidRuntime:     at android.content.res.Resources.loadDrawable(Resources.java:1953)
 E/AndroidRuntime:     at android.content.res.Resources.getDrawable(Resources.java:660)
 E/AndroidRuntime:     at android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:354)
 E/AndroidRuntime:     at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:193)
 E/AndroidRuntime:     at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:181)
 E/AndroidRuntime:     at android.support.v7.widget.AppCompatDrawableManager.checkVectorDrawableSetup(AppCompatDrawableManager.java:689)
 E/AndroidRuntime:     at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:186)
 E/AndroidRuntime:     at android.support.v7.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:77)
 E/AndroidRuntime:     at android.support.v7.app.AppCompatDelegateImplBase.<init>(AppCompatDelegateImplBase.java:83)
 E/AndroidRuntime:     at android.support.v7.app.AppCompatDelegateImplV7.<init>(AppCompatDelegateImplV7.java:146)
 E/AndroidRuntime:     at android.support.v7.app.AppCompatDelegateImplV11.<init>(AppCompatDelegateImplV11.java:28)
 E/AndroidRuntime:     at android.support.v7.app.AppCompatDelegateImplV14.<init>(AppCompatDelegateImplV14.java:41)
 E/AndroidRuntime:     at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:193)
 E/AndroidRuntime:     at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:173)
 E/AndroidRuntime:     at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:511)
 E/AndroidRuntime:     at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:71)
 E/AndroidRuntime:     at .MainActivity.onCreate(MainActivity.java:29)
 E/AndroidRuntime:     at android.app.Activity.performCreate(Activity.java:5104)
 E/AndroidRuntime:     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1092)
 E/AndroidRuntime:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148)
 E/AndroidRuntime:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2254) 
 E/AndroidRuntime:     at android.app.ActivityThread.access$600(ActivityThread.java:141) 
 E/AndroidRuntime:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 
 E/AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:99) 
 E/AndroidRuntime:     at android.os.Looper.loop(Looper.java:137) 
 E/AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:5069) 
 E/AndroidRuntime:     at java.lang.reflect.Method.invokeNative(Native Method) 
 E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Method.java:511) 
 E/AndroidRuntime:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
 E/AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
 E/AndroidRuntime:     at dalvik.system.NativeStart.main(Native Method) 
 E/AndroidRuntime:  Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #17: invalid drawable tag vector
 E/AndroidRuntime:     at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:881)
 E/AndroidRuntime:     at android.graphics.drawable.Drawable.createFromXml(Drawable.java:822)
 E/AndroidRuntime:     at android.content.res.Resources.loadDrawable(Resources.java:1950)
 E/AndroidRuntime:     at android.content.res.Resources.getDrawable(Resources.java:660) 
 E/AndroidRuntime:     at android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:354) 
 E/AndroidRuntime:     at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:193) 
 E/AndroidRuntime:     at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:181) 
 E/AndroidRuntime:     at android.support.v7.widget.AppCompatDrawableManager.checkVectorDrawableSetup(AppCompatDrawableManager.java:689) 
 E/AndroidRuntime:     at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:186) 
 E/AndroidRuntime:     at android.support.v7.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:77) 
 E/AndroidRuntime:     at android.support.v7.app.AppCompatDelegateImplBase.<init>(AppCompatDelegateImplBase.java:83) 
 E/AndroidRuntime:     at android.support.v7.app.AppCompatDelegateImplV7.<init>(AppCompatDelegateImplV7.java:146) 
 E/AndroidRuntime:     at android.support.v7.app.AppCompatDelegateImplV11.<init>(AppCompatDelegateImplV11.java:28) 
 E/AndroidRuntime:     at android.support.v7.app.AppCompatDelegateImplV14.<init>(AppCompatDelegateImplV14.java:41) 
 E/AndroidRuntime:     at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:193) 
 E/AndroidRuntime:     at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:173) 
 E/AndroidRuntime:     at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:511) 
 E/AndroidRuntime:     at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:71) 
 E/AndroidRuntime:     at .MainActivity.onCreate(MainActivity.java:29) 
 E/AndroidRuntime:     at android.app.Activity.performCreate(Activity.java:5104) 
 E/AndroidRuntime:     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1092) 
 E/AndroidRuntime:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148) 
 E/AndroidRuntime:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2254) 
 E/AndroidRuntime:     at android.app.ActivityThread.access$600(ActivityThread.java:141) 
 E/AndroidRuntime:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 
 E/AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:99) 
 E/AndroidRuntime:     at android.os.Looper.loop(Looper.java:137) 
 E/AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:5069) 
 E/AndroidRuntime:     at java.lang.reflect.Method.invokeNative(Native Method) 
 E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Method.java:511) 
 E/AndroidRuntime:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
 E/AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
 E/AndroidRuntime:     at dalvik.system.NativeStart.main(Native Method) 

Я действительно смущен тем, что это может быть, я прочитал и не могу добраться до ошибки:

Мое приложение: Gradle это:

apply plugin: 'com.android.application'

android {



    compileSdkVersion 23
    buildToolsVersion "24.0.2"




    defaultConfig {

        applicationId "me.me2.com.myapp"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"




    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }






}
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.android.support:design:23.4.0'
    compile 'com.android.support:recyclerview-v7:23.4.0'
    compile 'com.android.support:cardview-v7:23.4.0'


    compile 'com.google.firebase:firebase-storage:9.4.0'
    compile 'com.google.firebase:firebase-database:9.4.0'
    compile 'com.google.firebase:firebase-auth:9.4.0'
    compile 'com.firebaseui:firebase-ui-database:0.4.4'


    compile 'com.squareup.picasso:picasso:2.5.2'





}

apply plugin: 'com.google.gms.google-services'

Вот моя папка стиля:

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>
    <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>
    <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

    <style name="Divider">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">1dp</item>
        <item name="android:background">?android:attr/listDivider</item>
    </style>

</resources>

И мой mainactivity.class при необходимости:

public class MainActivity extends AppCompatActivity {

    VideoView videoView;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        // VideoView

        videoView = (VideoView) findViewById(R.id.videoview);
        videoView.setVideoURI(Uri.parse("android.resource://"+getPackageName() + "/" +R.raw.video));
        videoView.requestFocus();

        /**
         * Loop
         */
        videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
            @Override
            public void onPrepared(MediaPlayer mp) {
                videoView.start();
                mp.setLooping(true);

            }
        });




    }


    public void Login(View view) {
        Intent intent = new Intent(this, FragmentMain.class); 
        startActivity(intent);

       // finish();

    }

    public void Registro(View view) {
        Intent intent = new Intent(this, Registro.class);
        startActivity(intent);
    }





    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

Благодарю.

Ответ 1

ЕСЛИ вы используете Gradle Plugin 2.0, вам нужно внести изменения в gradle:

// Gradle Plugin 2.0+  
 android {  
   defaultConfig {  
     vectorDrawables.useSupportLibrary = true  
    }  
 }  

Если вы используете Gradle 1.5, вы используете вместо previus:

// Gradle Plugin 1.5  
 android {  
   defaultConfig {  
     // Stops the Gradle plugin automatic rasterization of vectors
     generatedDensities = []  
  }  
  // Flag to tell aapt to keep the attribute ids around
  // This is handled for you by the 2.0+ Gradle Plugin  
  aaptOptions {  
    additionalParameters "--no-version-vectors"  
  }  
 }  

Также проверьте: обновить библиотеку поддержки Android до 23.2.0. вызвать ошибку: XmlPullParserException Бинарная строка XML файла # 17 <vector> тегу требуется viewportWidth > 0.

Поддержка библиотеки поддержки Android: Поддержка векторных чертежей и анимационных векторных чертежей.

Также обновляйте зависимости поддержки Android от

compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:design:23.4.0'
compile 'com.android.support:recyclerview-v7:23.4.0'
compile 'com.android.support:cardview-v7:23.4.0'

к

compile 'com.android.support:appcompat-v7:24.2.0'
compile 'com.android.support:design:24.2.0'
compile 'com.android.support:recyclerview-v7:24.2.0'
compile 'com.android.support:cardview-v7:24.2.0'

поскольку вы уже используете встроенные инструменты в версии 24.0.2.

Ответ 2

Если какое-либо другое решение не работает, вы можете добавить эту строку в свою активность

static {
    AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
}

и, конечно же, обновите ваш gradle и appcompat до последних версий. Это сработало в моем случае.

Ответ 3

Никто из них не работал у меня. Но это произошло:

Измените

android:src="@drawable/your_drawable"

to

app:srcCompat="@drawable/your_drawable"

Ответ 4

Я столкнулся с этой проблемой в Xamarin.Android с Xamarin.Android.Support.Design 24.0.2. Вот как я это решил:

В класс приложения OnCreate добавлена ​​следующая строка:

AppCompatDelegate.CompatVectorFromResourcesEnabled = true;

Заменены:

var upArrow = ContextCompat.GetDrawable(this, Resource.Drawable.abc_ic_ab_back_material);

С помощью:

var upArrow = ResourcesCompat.GetDrawable(Resources, Resource.Drawable.abc_ic_ab_back_material, null);

Ответ 5

Поскольку эта страница является первым результатом google android.content.res.Resources$NotFoundException: File res/drawable/, я хочу поделиться тем, что это исключение может быть вызвано вашим foo.xml содержит неправильный код.

например. foo.xml:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:id="@android:id/background">
        <shape>
            <size android:height="@android:style/Widget.ProgressBar.Horizontal" />
            <corners android:radius="5dip" />
            <gradient
                android:startColor="#000000"
                android:centerY="0.75"
                android:angle="270"
                />
        </shape>
    </item>
</layer-list>

Этот xml содержит <size android:height="@android:style/Widget.ProgressBar.Horizontal" />, который скомпилирован успешно, но генерирует исключение в Runtime, отличается в разных приложениях.

Ответ 6

Хорошо, я просто решил свою проблему, проблема была в моем устаревшем gradle и моем sdk, поэтому, если кто-то работает с этой проблемой, просто выполните следующие шаги

1.- Удостоверьтесь, что ваши библиотеки обновлены, поскольку piotrek1543 говорит выше 2.- Обновите свой sdk, если это необходимо. 3.- Обновите файлы gradle (ОЧЕНЬ ВАЖНО) просто перейдите в проект gradle и добавьте это

classpath 'com.android.tools.build:gradle:2.1.0'

затем перейдите в проект приложения > приложение > graddle > graddlewrapper.properties и добавьте

distributionUrl=https://services.gradle.org/distributions/gradle-2.10-all.zip

4.- смените свой компилятор compileSdkVersion на 24  и ваш buildToolsVersion "24.0.2" (УБЕДИТЕСЬ, ЧТО ВАШИ ЗАВИСИМОСТИ ДО ДАТЫ С SDK)

Удачи

Ответ 7

Я пробовал все решения, упомянутые выше. Ничто не сработало для меня. Единственное, что сработало для меня, очень просто - обновить все библиотеки поддержки до последней версии, поскольку эта ошибка была исправлена ​​в нем. Поэтому я просто сделал следующее в файле gradle; обновленный SDK и поддержка до 25.

android {
    compileSdkVersion 25
    buildToolsVersion "25"
  defaultConfig {
        targetSdkVersion 25
   }

}
In dependencies 

    compile 'com.android.support:appcompat-v7:25.1.0'
    compile 'com.android.support:design:25.1.0'
    compile 'com.android.support:recyclerview-v7:25.1.0'

Ответ 8

Не относится конкретно к вашему вопросу, но, возможно, может решить эту проблему для всех, кто попал сюда при поиске этой ошибки.

Для меня была проблема с SVG файлом, который я импортировал в свой проект. Один из путей в XML содержит пустые данные pathData что pathData к сбою на некоторых устройствах, таких как Pixel XL, Samsung Galaxy S7,...

Поэтому дважды проверьте импортированный XML для изображения, если вы используете SVG в качестве источника изображения.

Ответ 9

используйте это в своей деятельности:

public class MainActivity extends AppCompatActivity {
    static {
        AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
     }
  ...
}

и это в вашем build.gradle:

android {
    ...

     defaultConfig {
         ....
         vectorDrawables.useSupportLibrary = true
    }

}

и в вашем xml:

app:srcCompat="@drawable/your_icon"

Ответ 10

Изменение зависимости kotlin-stdlib от:

implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:1.2.0" к

implementation "org.jetbrains.kotlin:kotlin-stdlib:1.2.0" исправлена ​​ошибка.

Ответ 11

в моем случае XML содержал android:endX который поддерживает от 24 и выше.

Ответ 12

У меня была эта проблема.

В своем классе Application в методе onCreate() добавьте:

AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);

... а также использовать AppCompatImageView вместо ImageView.

Пример: BaseApplication.class:

public class BaseApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        //Your other code here...
        AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
    }
}

XML:

<androidx.appcompat.widget.AppCompatImageView
        android:id="@+id/yourIvId"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />