Обратная совместимость библиотеки AndroidX с Lollipop. Проблемы с доступными ресурсами - PullRequest
0 голосов
/ 11 января 2020

Я действительно искал и много гуглил. Но не нашел никакого решения. И мне очень жаль, если на него как-то уже ответили (лучшее, что я пытался найти - безрезультатно).

В общем, я сталкиваюсь с такой проблемой, что после перехода на библиотеки anroidx, вместо библиотек поддержки, я Сбой лица, связанный с доступными для рисования ресурсами в Lollipop.

Пример:

Причина: android .content.res.Resources $ NotFoundException: файл res / drawable / btn_borderless_material. xml из идентификатора нарисованного ресурса # 0x10800d4

Я пытался использовать все возможные решения, которые решали сбой векторной графики на Android 5 в библиотеках поддержки, но ни одно из них не помогает с библиотеками androidx. Вышеприведенная ошибка связана с диалоговым окном фрагмента настроек (когда значение изменяется во всплывающем окне, например установка целочисленных значений и т. Д. c).

Существует ли хотя бы какой-нибудь обходной путь для anroidx и последней студии android, чтобы заставить его работать Lollipop?

Этот не влияет на использование библиотеки adroidx:

vectorDrawables.useSupportLibrary = true

Ошибка остается, и я не имею ни малейшего понятия как наконец это исправить.

Был бы благодарен любому, кто помог бы мне с этим. Целевой SDK - 29.

Завершено: sh log:

E / AndroidRuntime: ИСКЛЮЧИТЕЛЬНОЕ ИСКЛЮЧЕНИЕ: main

android.view.InflateException: Binary XML file line #37: Error inflating class Button
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:763)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)
    at android.view.LayoutInflater.parseInclude(LayoutInflater.java:916)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:802)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
    at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:555)
    at androidx.appcompat.app.AppCompatDialog.setContentView(AppCompatDialog.java:95)
    at androidx.appcompat.app.AlertController.installContent(AlertController.java:232)
    at androidx.appcompat.app.AlertDialog.onCreate(AlertDialog.java:279)
    at android.app.Dialog.dispatchOnCreate(Dialog.java:373)
    at android.app.Dialog.show(Dialog.java:274)
    at androidx.fragment.app.DialogFragment.onStart(DialogFragment.java:486)
    at androidx.fragment.app.Fragment.performStart(Fragment.java:2632)
    at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:915)
    at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManagerImpl.java:1238)
    at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1303)
    at androidx.fragment.app.BackStackRecord.executeOps(BackStackRecord.java:439)
    at androidx.fragment.app.FragmentManagerImpl.executeOps(FragmentManagerImpl.java:2079)
    at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManagerImpl.java:1869)
    at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManagerImpl.java:1824)
    at androidx.fragment.app.FragmentManagerImpl.execPendingActions(FragmentManagerImpl.java:1727)
    at androidx.fragment.app.FragmentManagerImpl$2.run(FragmentManagerImpl.java:150)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:135)
    at android.app.ActivityThread.main(ActivityThread.java:5221)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
 Caused by: android.content.res.Resources$NotFoundException: File res/drawable/btn_borderless_material.xml from drawable resource ID #0x10800d4
    at android.content.res.Resources.loadDrawableForCookie(Resources.java:2428)
    at android.content.res.Resources.loadDrawable(Resources.java:2330)
    at android.content.res.TypedArray.getDrawable(TypedArray.java:749)
    at android.view.View.<init>(View.java:3730)
    at android.widget.TextView.<init>(TextView.java:634)
    at android.widget.Button.<init>(Button.java:111)
    at android.widget.Button.<init>(Button.java:107)
    at androidx.appcompat.widget.AppCompatButton.<init>(AppCompatButton.java:72)
    at androidx.appcompat.widget.AppCompatButton.<init>(AppCompatButton.java:68)
    at androidx.appcompat.app.AppCompatViewInflater.createButton(AppCompatViewInflater.java:192)
    at androidx.appcompat.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:111)
    at androidx.appcompat.app.AppCompatDelegateImpl.createView(AppCompatDelegateImpl.java:1407)
    at androidx.appcompat.app.AppCompatDelegateImpl.onCreateView(AppCompatDelegateImpl.java:1457)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:725)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:809) 
    at android.view.LayoutInflater.parseInclude(LayoutInflater.java:916) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:802) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:504) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:414) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:365) 
    at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:555) 
    at androidx.appcompat.app.AppCompatDialog.setContentView(AppCompatDialog.java:95) 
    at androidx.appcompat.app.AlertController.installContent(AlertController.java:232) 
    at androidx.appcompat.app.AlertDialog.onCreate(AlertDialog.java:279) 
    at android.app.Dialog.dispatchOnCreate(Dialog.java:373) 
    at android.app.Dialog.show(Dialog.java:274) 
    at androidx.fragment.app.DialogFragment.onStart(DialogFragment.java:486) 
    at androidx.fragment.app.Fragment.performStart(Fragment.java:2632) 
    at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:915) 
    at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManagerImpl.java:1238) 
    at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1303) 
    at androidx.fragment.app.BackStackRecord.executeOps(BackStackRecord.java:439) 
    at androidx.fragment.app.FragmentManagerImpl.executeOps(FragmentManagerImpl.java:2079) 
    at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManagerImpl.java:1869) 
    at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManagerImpl.java:1824) 
    at androidx.fragment.app.FragmentManagerImpl.execPendingActions(FragmentManagerImpl.java:1727) 
    at androidx.fragment.app.FragmentManagerImpl$2.run(FragmentManagerImpl.java:150) 
    at android.os.Handler.handleCallback(Handler.java:739) 
    at android.os.Handler.dispatchMessage(Handler.java:95) 
    at android.os.Looper.loop(Looper.java:135) 
    at android.app.ActivityThread.main(ActivityThread.java:5221) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:372) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 
 Caused by: java.lang.UnsupportedOperationException: Can't convert to dimension: type=0x1d
    at android.content.res.TypedArray.getDimensionPixelOffset(TypedArray.java:533)
    at android.graphics.drawable.LayerDrawable.updateLayerFromTypedArray(LayerDrawable.java:234)
    at android.graphics.drawable.LayerDra

I / Process : Отправка сигнала. PID: 4460 SIG: 9 Процесс 4460 завершен.

...