There are definitely many tutorials on the internet which you can use for system calls hooking but now I try to keep track of all the things I am doing in my own words.
Following tutorial will help you to hook system calls for Android 2.6.29 and then you can trace system calls against any APK installed on your emulator.
I assume, you already know how to build and compile Android source code and you have done it, so I will go one step further from here now.
Basically, our_sys_table is pointing to a memory location where it stores all the system call numbers and pointers to each of those system calls. So if we get pointer to this memory address, we can easily get pointers to all the system calls using predefined macros like __NR_<sysCall>. Then we can modify these pointers to point to our own system call routines and in this routine, we will call original system call routine so that original functionality may still work.
In this tutorial, I will only talk about read() system call and all of the other system calls will work the same way. And if you are reading this post, I assume, you are a programmer and you can easily understand the code given in trapcall.c file after reading the above given explanation. One hint: this code starts from init_module() method.
read more...........http://mohsin-junaid.blogspot.com.es/2013/01/android-system-calls-hooking-to-trace.html