Android 1.5 Native SDK Released

Leave a Comment

Thursday, Google announced the release of the Android Native Development Kit, giving developers the ability to use

native-code with Android applications. Since Android applications run inside the Dalvik virtual machine, applications up until now have been programmed with Java. The NDK now allows for developers to use C/C++ with their applications, increasing the ability to reuse code and perform extensive CPU-intensive operations.

The NDK provides:
a set of tools and build files used to generate native code libraries from C and C++ sources
a way to embed the corresponding native libraries into application packages files (.apks) that can be deployed on Android devices
a set of native system headers and libraries that will be supported in all future releases of the Android platform, starting from Android 1.5 documentation, samples and tutorials

While the NDK will benefit a lot of developers, it isn’t all neccissary for all Android applications. There are drawbacks, and Google tells you that immediately.

Your application will be more complicated, have reduced compatibility, have no access to framework APIs, and be harder to debug. That said, some applications that have self-contained, CPU-intensive operations that don’t allocate much memory may still benefit from increased performance and the ability to reuse existing code. Some examples are signal processing, intensive physics simulations, and some kinds of data processing.

With that said, the NDK shouldn’t be viewed as a replacement to Java development on Android, but as a way to integrate C/C++ code and libraries along with high performance where needed. JNI is used to link C libraries with that of Android’s own set of libraries.

 

This isn’t the first stride Google has taken to include other languages within Android. Earlier this month Google announced the Android Scripting Language (ASE) which allowed users to “edit and execute scripts and interactive interpreters directly on the Android device.” Popular langues Python and LUA can be accessed and edited accordingly through the ASE.

Trackback | Permalink |

Leave a comment