将我们的项目迁移到androidx后,我遇到了一个奇怪的问题。我们使用从androidx.appcompat.widget.AppCompatTextView扩展的自定义视图。但是,应用程序在具有以下堆栈跟踪(仅切至相关部分)的API <26的设备上崩溃:
java.lang.NoClassDefFoundError: android.view.textclassifier.TextClassifier
at libcore.reflect.InternalNames.getClass(InternalNames.java:55)
at java.lang.Class.getDexCacheType(Class.java:2551)
at java.lang.reflect.AbstractMethod.getParameterTypes(AbstractMethod.java:169)
at java.lang.reflect.Method.getParameterTypes(Method.java:193)
at org.greenrobot.eventbus.SubscriberMethodFinder.findUsingReflectionInSingleClass(SubscriberMethodFinder.java:163)
at org.greenrobot.eventbus.SubscriberMethodFinder.findUsingInfo(SubscriberMethodFinder.java:88)
at org.greenrobot.eventbus.SubscriberMethodFinder.findSubscriberMethods(SubscriberMethodFinder.java:64)
at org.greenrobot.eventbus.EventBus.register(EventBus.java:140)
at com.chrono24.mobile.controls.LocalizedTextView.onAttachedToWindow(LocalizedTextView.kt:65)
现在,正如我所看到的,在android.view.textclassifier.TextClassifier中添加了API 26,这将解释为什么缺少该类的原因。如果我将AppCompatTextView更改为普通的旧TextView,则该应用程序将再次启动而不会崩溃。知道为什么会这样以及如何解决吗?预先感谢。
答案 0 :(得分:0)
只需确保您没有使用自定义字体或.ttf文件 如果您正在使用,则将您的.ttf文件转换为.otf,它将在android 10上正常工作 这是android 10的已知问题。