eclipse-iceoryx / iceoryx

Eclipse iceoryx™ - true zero-copy inter-process-communication
https://iceoryx.io
Apache License 2.0
1.68k stars 393 forks source link

Android Support #2172

Open GuDuJian-J-Zhang opened 9 months ago

GuDuJian-J-Zhang commented 9 months ago

Brief feature description

Is it supported on Android platform

Detailed information

I'm wondering if it has been compiled and tested on Android platform

elfenpiff commented 9 months ago

It does not yet work on android, but it is one of the platforms we are targeting.

I already tried it, and it seems pretty much everything is working except the posix shared memory. Here, android uses the system V API. But this can easily be ported and handled in the iceoryx_platform.

The biggest problem was always the lack of time on our side and not too much interest from the community - but it can be changed.

@GuDuJian-J-Zhang would you be free to tell us a bit more about the use case you are considering with iceoryx on android?

GuDuJian-J-Zhang commented 9 months ago

It does not yet work on android, but it is one of the platforms we are targeting.

I already tried it, and it seems pretty much everything is working except the posix shared memory. Here, android uses the system V API. But this can easily be ported and handled in the iceoryx_platform.

The biggest problem was always the lack of time on our side and not too much interest from the community - but it can be changed.

@GuDuJian-J-Zhang would you be free to tell us a bit more about the use case you are considering with iceoryx on android?

Thanks for your reply.

I'm developing a multi-process framework for graphics rendering purpose.

There is one process as a 'server' and one or more process as 'clients'.

And i need a IPC mechanism so that each 'client ' can send rendering command and upload several assets (such as image、3D Model File, etc.) for rendering to the 'server'.

For now, i just using an RPC framework to do this.

But, from my understand Shared Memory is the fastest way to do inter-process communication. And last, the important thing is that i need to run the whole system on both Windows and Android Platform

elBoberido commented 9 months ago

@GuDuJian-J-Zhang are you bound to C++ or do you need a pure C++ solution? With iceoryx2 we are heading into the Rust direction and it might be easier to add Android support for iceoryx2 than for current iceoryx since it does not require a central daemon. Once C/C++ bindings are there, it might be an option for you.

https://github.com/eclipse-iceoryx/iceoryx2/blob/main/ROADMAP.md#platform-support

GuDuJian-J-Zhang commented 9 months ago

@GuDuJian-J-Zhang are you bound to C++ or do you need a pure C++ solution? With iceoryx2 we are heading into the Rust direction and it might be easier to add Android support for iceoryx2 than for current iceoryx since it does not require a central daemon. Once C/C++ bindings are there, it might be an option for you.

https://github.com/eclipse-iceoryx/iceoryx2/blob/main/ROADMAP.md#platform-support

pure c++ is better, but both are ok i think. how long will it be taken for iceoryx2 to support c++ binding?

elBoberido commented 9 months ago

pure c++ is better, but both are ok i think. how long will it be taken for iceoryx2 to support c++ binding?

It is one of our top priorities but it is hard to give an ETA