Using jni in Android: UNsatisfiedLinkError
===

I'm new to jni, and I was going over a tutorial to implement a simple native method, but I'm getting an unsatisfiedlinkerror. As far as I know, I followed the steps in the tutorial exactly. Please help me.

Here is the java wrapper code:

    package com.cookbook.jni;

    public class SquaredWrapper {
    
        // Declare native method (and make it public to expose it directly)
        public static native int squared(int base);
 
       // Provide additional functionality, that "extends" the native method
       public static int to4(int base)
       {
          int sq = squared(base);
          return squared(sq);
       }
 
       // Load library
       static {
          System.loadLibrary("squared");
       }
    }

Here's what my Android.mk file looks like:

> LOCAL_PATH := $(call my-dir)
 
> include $(CLEAR_VARS)
 
> LOCAL_MODULE    := squared
> LOCAL_SRC_FILES := squared.c
 
> include $(BUILD_SHARED_LIBRARY)

Here's what my .c file looks like:

    #include "squared.h"
    #include <jni.h>
 
    JNIEXPORT jint JNICALL Java_org_edwards_1research_demo_jni_SquaredWrapper_squared
      (JNIEnv * je, jclass jc, jint base)
    {
         return (base*base);
    }

And here is what my .h file looks like:

    enter code here/* DO NOT EDIT THIS FILE - it is machine generated */
    #include <jni.h>
    /* Header for class com_cookbook_jni_SquaredWrapper */

    #ifndef _Included_com_cookbook_jni_SquaredWrapper
    #define _Included_com_cookbook_jni_SquaredWrapper
    #ifdef __cplusplus
    extern "C" {
    #endif
    /*
    * Class:     com_cookbook_jni_SquaredWrapper
    * Method:    squared
    * Signature: (I)I
    */
    JNIEXPORT jint JNICALL Java_com_cookbook_jni_SquaredWrapper_squared
      (JNIEnv *, jclass, jint);

    #ifdef __cplusplus
    }
    #endif
    #endif



