由于支持库

时间:2018-05-28 09:43:53

标签: android android-support-library chromecast

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

  

支持图书馆 - 27.1.1

     

Google Play服务 - 15.0.1

     

Play-services-cast-framework - 15.0.1

     

Mediarouter-v7 - 27.1.1

cast-service-framework中的一个类'VideoCastNotificationService'(包:com.google.android.libraries.cast.companionlibrary.notification)使用'NotificationCompat'(package:android.support.v7.app.NotificationCompat)通知服务。

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

但是,此构造函数已在支持库版本26.0.0中弃用,并在版本27.0.0中删除。新的构造函数还有一个参数以及上下文,即Channel id。

因此,在尝试投射时,应用程序会崩溃并显示以下日志,

  

引起:java.lang.ClassNotFoundException:没有找到类   “android.support.v7.app.NotificationCompat $生成器”   java.lang.NoClassDefFoundError:解析失败:   Landroid /支持/ V7 /应用/ NotificationCompat $生成器;           在com.google.android.libraries.cast.companionlibrary.notification.VideoCastNotificationService.build(VideoCastNotificationService.java:338)

我必须使用最新版本的支持库和目标sdks来支持最新的Android版本。从最新的cast-service-framework也可以调用不推荐使用的'NotificationCompat'构造函数,这会导致崩溃。

任何人都可以帮忙解决此问题吗?

2 个答案:

答案 0 :(得分:0)

将导入从v7更改为v4,如下所示,

import android.support.v4.app.NotificationCompat;

答案 1 :(得分:0)

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

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