What support does Android or Dalvik VM provide for running native C code?
The NDK (Native Development Kit) gives developers the ability to call into native code from Android applications. There is a Google group for NDK-related discussions. At present, Android supports libc, libm, JNI interface headers, libz, liblog, OpenGL ES 1.1 and OpenGL ES 2.0, libjnigraphics, a minimal set of headers for C++ support, OpenSL ES native audio libraries and Android native application APIs.
The Java bytecode of a compiled class is converted into Dalvik executables or (.dex) files, using the "dx" tool bundled with the SDK . The application is packaged into .apk file which are zipped .dex files. The Dalvik virtual machine runs Dalvik executables in the apk file.
I want to write Android Applications too but dont know where to start?
My Application throws an Exception, where is the Stack Trace dumped?
Exceptions are written to a log file, named Logcat in the emulator. You can obtain a dump by executing the adb logcat command. To write log messages from your application, use the static methods of JavaDoc:android.util.Log class(Log.v(), Log.d(), Log.i(), etc.). If you are using Eclipse with ADT plugin, you can open "Logcat" view to see the logged messages.
What functionality of the actual device can the emulator emulate?