Use External Toolchain
One option to write software for the native layer is to use external toolchain. You can download codesourcery toolcahin for example (Lite edition is free) and use it to compile your code. The only note is that we need to link it statically (makes the binary file bigger):
arm-none-linux-gnueabi-gcc -static -o myapp myapp.c
then push it to the device using adb
adb push ./myapp /data/myapp
The benefits you get from using an external toolchain are:
- You can use the same binary file in linux and android systems
- You can use features that are not included in google bionic c library like priority inheritance futex or SYS V mailbox etc.