Nexus 9被称为64位设备,但是所有媒体库都是32位的,比如mediaserver、stagefright、OMX、MediaPlayerservice等等。有人能帮我弄清楚为什么会这样吗?我要做64位,我该怎么做?(预先谢谢:)
发布于 2015-04-30 02:53:56
在当前的AOSP堆栈中,有部分代码需要OMX这样的供应商进行开发,或者依赖于公共库(如widevine库)。由于并非所有代码部分都由Google处理,而且并非所有代码都已被完全迁移,因此当前代码已经为media相关部分启用了32位代码。
要启用完整的64-bit构建,请执行以下更改并重新编译整个AOSP平台。请注意,基本假设是平台的其余部分已经迁移到64-bit:
mediaserver启用64位这条线.MediaPlayerService启用64位这条线.OMX组件迁移到64-bit之后,在Android.mk of libstagefright中添加一行,以便仅针对特定情况启用32-bit构建。ACodec和OMXCodec的相关宏是OMX_ANDROID_COMPILE_AS_32BIT_ON_64BIT_PLATFORMS。OMX的头也必须相应地在frameworks/native中编译为这里。请确保启用了真正的64-bit构建。medialoggerservice启用64位这条线.drmserver,请禁用这条线 for 64-bit build。通过这些更改,您应该能够使用64-bit mediaserver。这个列表不包括SurfaceFlinger或RS,我希望它们能够得到相应的处理。
https://stackoverflow.com/questions/29935571
复制相似问题