Región de memoria compartida en NDK

Quiero tener un bloque de memoria compartida (unashmem Región) que se asigna y se accede desde el código nativo. También quiero que este bloque sea usado por varias aplicaciones. También quiero que funcione en SDK nivel 7 (Android 2.1)

Hay dos rutas. Puedo crear una región ashmem en código nativo; pero luego la pregunta es: ¿cómo paso un descriptor de archivo entero a otro proceso? Usted puede ordenarFileDescriptor objetos a través de unParcel, pero no hay manera de construir uno alrededor de un FD en bruto. También hayParcelFileDescriptor que admite la construcción y recuperación de FD enteros, pero los métodos relevantes solo se admiten en el nivel 12 del SDK o incluso más.

Alternativamente, puedo crear unMemoryFile. Hay unaforma fugaz Para pasarlo en parcelas. Pero, ¿cómo puedo recuperar un descriptor de archivo para que el código nativo tenga algo quemmap()?