【问题标题】:androidx.appcompat.widget.AppCompatTextView not compatible with API < 26androidx.appcompat.widget.AppCompatTextView 与 API < 26 不兼容
【发布时间】:2019-10-18 17:02:18
【问题描述】:

将我们的项目迁移到 androidx 后,我遇到了一个奇怪的问题。我们使用从 androidx.appcompat.widget.AppCompatTextView 扩展而来的自定义视图。但是,应用程序在 API

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,应用程序将再次启动而不会崩溃。知道为什么会发生这种情况以及如何解决吗?提前致谢。

【问题讨论】:

  • 当我将 androidx 库从 alpha 降级到 stable 时问题消失了。
  • 当自定义视图尝试向 greenrobot EventBus 注册自身时,似乎出现了问题。

标签: android android-support-library compatibility androidx


【解决方案1】:

您只需要确保您没有使用自定义字体或 .ttf 文件 如果您正在使用,则将您的 .ttf 文件转换为 .otf 它将适用于 android 10 这是 android 10 的一个已知问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-13
    • 1970-01-01
    • 2019-07-28
    • 1970-01-01
    • 1970-01-01
    • 2018-07-04
    • 1970-01-01
    • 2020-10-27
    相关资源
    最近更新 更多