代码之家  ›  专栏  ›  技术社区  ›  Premsuraj

由于支持库的原因,铸造时发生崩溃

  •  0
  • Premsuraj  · 技术社区  · 8 年前

    在我的项目中,我使用了以下版本的库。

    支持库-27.1.1

    Google Play服务-15.0.1

    播放服务广播框架-15.0.1

    MediaRouter-V7-27.1.1版

    Cast Service框架“videoCastNotificationService”(包:com.google.android.libraries.cast.compartibrary.notification)中的类将“notificationCompat”(包:android.support.v7.app.notificationCompat)用于通知服务。

    NotificationCompat.Builder builder = (NotificationCompat.Builder) new NotificationCompat.Builder(this);
    

    但是,此构造函数在支持库版本26.0.0中已被弃用,在版本27.0.0中已被删除。新的构造函数还有一个参数和上下文,即通道ID。

    因此,当尝试强制转换时,应用程序会崩溃,出现以下日志,

    原因:java.lang.ClassNotFoundException:未找到类 “android.support.v7.app.notificationCompat$builder” java.lang.noclassDefoundError:解析失败: landroid/support/v7/app/notificationcompat$builder; 在谷歌上。Android。库。

    我必须使用最新版本的支持库和目标SDK来支持最新的Android版本。在最新的Cast服务框架中,它还调用了不推荐使用的“notificationCompat”构造,这会导致崩溃。

    有人能帮忙解决这个问题吗?

    2 回复  |  直到 8 年前
        1
  •  0
  •   Neerajlal K    8 年前

    更改导入源 v7 v4 如下所示:

    import android.support.v4.app.NotificationCompat; .

        2
  •  0
  •   Premsuraj    8 年前

    我发现了问题所在, com.google.android.libraries.cast.compartlibrary.notification.videocastnotificationservice.build

    这是来自CCL(Cast Companion库),它仍然是项目的一部分,是一个遗留项目。