mk.. mk.. - 22 days ago 10
Android Question

How to use shared memory in android native code?

I am porting an existing linux application to android. The application is using shared memory API's like

shm_open()
etc.

Checking bionic in android source, I see that these API's are not supported. Hence I get a linking error during build.

external/l2/avbtp.c:138: error: undefined reference to 'shm_open'
external/l2/avbtp.c:151: error: undefined reference to 'shm_unlink'
external/l2/avbtp.c:186: error: undefined reference to 'shm_unlink'


How to resolve this correctly?

Answer

Well, I found this github project and well it works! https://github.com/pelya/android-shmem

Like a magic, it works perfectly. You can use shared memory in android across independent processes using shmget(), shmat() and shmdt() API's seamlessly. Give it a try.