哪些 Android 版本支持 DrmManagerClient-native 中的 Widevine-modular?

Which Android-versions support Widevine-modular in DrmManagerClient-native?

Android 的 DRM 文档 [1] 的入口页说 Android 提供 DrmManagerClient 原生实现作为原生模块的接口。 据我所知,界面是 DrmManagerClient.h [2].

关于Java API,明确指出只有API 18级及更高级别支持Widevine的模块化版本。 API 18 引入了 MediaDrm class,而 NDK 包含来自 API 级别 21 的 NativeMediaDrm.h。较新的 Androids 带有 "libwvdrmengine.so" 和 "libwvm.so",这可能是一个用于 WV modular 的库和一个用于 WV classic 的库。 Internet 搜索显示 libwvm.so 在 Android 4.0.4 及更高版本上使用。

哪些 Android-versions 支持 DrmManagerClient-native 中的 Widevine-modular?

[1] https://source.android.com/devices/drm.html

[2] android/platform/frameworks/av/include/drm/DrmManagerClient.h

我不会太相信文档。例如,6 年了,他们仍然需要调整它以反映提交 0a32d7981b98fdfca48a1e35ca746f1cc11849d3

无论如何,Widevine-classic实际上是在3.0中引入的,但是除了你在4.3中提到的引入模块化的变化之外,我不知道还有什么特别的技巧。

根据 this,您所谈论的库不被考虑 "separated"。我的猜测是,在 Stagefright 之后,他们只是 "compartmentalized" 尽可能多地涉及媒体复制的一切,甚至是 DRM。但是WV仍然只有两条路。