Сбой библиотеки каллиграфии от Криса Дженкса для Android Q

У меня есть библиотека каллиграфии, которую я использую для пользовательских шрифтов, которая, похоже, работает во всех версиях, кроме Android Q, где происходит сбой моего приложения сразу при запуске. Кто-нибудь еще сталкивался с той же проблемой в последнее время? Вот мой отчет о сбое:

Caused by: android.view.InflateException: Binary XML file line #17 in com.myapp.dev:layout/abc_screen_simple: Binary XML file line #17 in com.myapp.dev:layout/abc_screen_simple: Error inflating class android.support.v7.widget.FitWindowsLinearLayout
Caused by: android.view.InflateException: Binary XML file line #17 in commyapp.dev:layout/abc_screen_simple: Error inflating class android.support.v7.widget.FitWindowsLinearLayout
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object java.lang.reflect.Field.get(java.lang.Object)' on a null object reference
at uk.co.chrisjenx.calligraphy.ReflectionUtils.getValue(ReflectionUtils.java:29)
at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.createCustomViewInternal(CalligraphyLayoutInflater.java:203)
at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.access$000(CalligraphyLayoutInflater.java:20)
at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater$PrivateWrapperFactory2.onCreateView(CalligraphyLayoutInflater.java:302)
at android.view.LayoutInflater$FactoryMerger.onCreateView(LayoutInflater.java:239)
at android.view.LayoutInflater.tryCreateView(LayoutInflater.java:1069)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:997)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:961)
at android.view.LayoutInflater.inflate(LayoutInflater.java:659)
at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.inflate(CalligraphyLayoutInflater.java:60)
at android.view.LayoutInflater.inflate(LayoutInflater.java:534)
at android.view.LayoutInflater.inflate(LayoutInflater.java:481)
at android.support.v7.app.AppCompatDelegateImpl.createSubDecor(AppCompatDelegateImpl.java:631)
at android.support.v7.app.AppCompatDelegateImpl.ensureSubDecor(AppCompatDelegateImpl.java:518)
at android.support.v7.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:466)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
at com.myapp.dev.ui.splash.SplashActivity.onCreate(SplashActivity.java:36)
at android.app.Activity.performCreate(Activity.java:7802)
at android.app.Activity.performCreate(Activity.java:7791)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1299)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)

Обратите внимание, я не использую FitWindowsLinearLayout или abc_screen_simple в своем коде, все это взято из этой библиотеки. Я даже обновился до последней версии 2.3.0:

реализация "uk.co.chrisjenx: calligraphy: 2.3.0"

но не повезло. Я даже следил за ответами в этой теме: Сбой на Android Q API 29 но не повезло. Есть идеи, как это сделать?

Спасибо!


person Community    schedule 14.08.2019    source источник
comment
Any ideas how to go about this? Я говорю это всем, кто задает вопросы, связанные с библиотекой, но подумайте также о том, чтобы сделать проблему на своем github.   -  person a_local_nobody    schedule 14.08.2019
comment
Я тоже. пока нет ответа, поэтому я хотел узнать, есть ли у кого-нибудь обходной путь или как-то исправил это   -  person    schedule 14.08.2019
comment
нет проблем, я не ненавижу свой вопрос, просто говорю, что место, где вы, вероятно, найдете ответ, от создателей :) надеюсь, вы все же найдете ответ   -  person a_local_nobody    schedule 14.08.2019
comment
Вы используете эту библиотеку? Если да, то проверьте его зависимость   -  person Piyush    schedule 14.08.2019


Ответы (1)


Вы проверили библиотеку, упомянув, что

Эта версия каллиграфии подошла к концу и больше не поддерживается. Пожалуйста, перейдите на Calligraphy 3!

dependencies {
    implementation 'io.github.inflationx:calligraphy3:3.1.1'
    implementation 'io.github.inflationx:viewpump:2.0.3'
}

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

person Sunny    schedule 14.08.2019
comment
Я только что сделал. не знал о миграции. Необходимо проверить, совместим ли он с обратной связью, но спасибо за ссылку! кажется, на данный момент это единственный выход. - person ; 14.08.2019
comment
это не похоже на обратную совместимость, необходимо ограничить его до q и выше - person ; 14.08.2019
comment
На самом деле он обратно совместим. Просто использовал его с настраиваемым шрифтом как на Android Q, так и в API 26, отлично работал - person riadrifai; 04.09.2020