在我的项目中,我使用的是以下版本的库。
支持图书馆 - 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'构造函数,这会导致崩溃。
任何人都可以帮忙解决此问题吗?
答案 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),它仍然是项目的一部分,它是一个遗留项目。