Anil007 Anil007 - 10 months ago 89
Android Question

Android bitmap native code - linking problem

I have a problem when compiling my app, which is inspired from bitmap-plasma. I was calling

if ((ret = AndroidBitmap_getInfo(env, bitmap, &info)) < 0) {
LOGE("AndroidBitmap_getInfo() failed ! error=%d", ret);

if (info.format != ANDROID_BITMAP_FORMAT_RGB_565) {
LOGE("Bitmap format is not RGB_565 !");

if ((ret = AndroidBitmap_lockPixels(env, bitmap, &pixels)) < 0) {
LOGE("AndroidBitmap_lockPixels() failed ! error=%d", ret);

/*****code here***********/
AndroidBitmap_unlockPixels(env, bitmap);

I have included android/bitmap.h in my source file. I am using android-ndk-r5b and sdk-9 on ubuntu 10.10.

I am getting an error

/home/user5432/workspace/bitmapproj/obj/local/armeabi/objs-debug/mybitmap.o : In function Java_com_example_plasma_PlasmaView_renderPlasma
"undefined reference to AndroidBitmap_getInfo"
"undefined reference to AndroidBitmap_lockPixels"
"undefined reference to AndroidBitmap_unlockPixels"

The problem is with debug code. But what is the problem? Can anybody has an answer?

Answer Source

After a brief research I got to know that I need to add

`LOCAL_LDFLAGS += -ljnigraphics` 

in file.