In addition to JNI calls, there are at least 2 options:
1) Use libjpeg directly. The source code can be downloaded here: http://www.ijg.org The source code is very convenient for NDK, and you just need to create Android.mk/Application.mk for the project. However, the libjpeg API is rather complicated.
2) Use the wrapper image library. I recommend using FreeImage : http://freeimage.sourceforge.net It has a very clean API, it can be easily compiled for Android (no autoconf configuration required) and (used in the Unity3D engine). As an added bonus, you can read and write many other image formats other than JPEG. In fact, it contains libjpeg , but provides a cleaner API.
source share