Заставка вызывает Ресурсы $ NotFoundException только на Android 8.1 - PullRequest
0 голосов
/ 27 сентября 2018

Я следовал этому учебнику здесь шаг за шагом, он отлично работает на моем эмуляторе API 21, но на моих 27 он вылетает, как только приложение загружается с:

java.lang.RuntimeException: не удается запустить действие ComponentInfoИдентификатор ресурса # 0x7f0700a9

Мой файл drawable / splash_screen_background это:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape>
            <gradient
                android:type="radial"
                android:gradientRadius="100%p"
                android:startColor="@color/primaryColor"
                android:endColor="@color/primaryDarkColor"/>
        </shape>
    </item>

    <item>
        <bitmap
        android:gravity="center"
            android:src="@drawable/ic_home_white_24dp"/>
    </item>
</layer-list>

Я пытался использовать app:srcCompat, передать рисованный файл непосредственно в item, исключивbitmap, но проблема сохраняется.Я видел, как некоторые люди говорят, что вместо этого используют android:drawable=, но они говорят, что это вызывает сбой в

В этом ответе показаны некоторые довольно сложные дополнительные конфигурации, включая опции gradle,Я не уверен, как это повлияет на мое приложение, оно изменит производительность векторной графики?

Как правильно обрабатывать layer-list на Android, который будет работать на нескольких API?

1 Ответ

0 голосов
/ 13 февраля 2019

Как вы и предлагали в своем комментарии, решение проблемы состоит в том, что ваши ресурсы не находятся в папке Drawable.

Все ваши файлы ресурсов Drawable должны быть также в "Drawable".Если у вас есть специальные функции для более высоких версий Android, вы можете загружать файлы в "drawable-v21", "drawable-v24", ...

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

...