first of all you should pull some libraries from android device list of it ldandroidso  libcso  libdlso  libdlandroidso  liblogso  libmso   after that you can compile your program with this command   armnonelinuxgnueabihfgcc helloc fPIE pie o helloandroidgcc2 Wall Wldynamiclinkersystembinlinker nostdlib nodefaultlibs L I ldandroidso libdlandroidso libcso libmso libdlso libdlso we use dynamiclinker flag to force ELF file to use systembinlinker as interpreter linker because in android device the ldlinuxso is not exist we use nostdlib because as default of armnonelinuxgnueabihfgcc compiler it use libcso6 that is glibc standard library that not exist on android instead of that bionic is standard c library in systemliblibcso ادامه مطلب