Android:Ubuntu下Jni学习入门实例
2010-09-06 08:42:00 来源:WEB开发网float result1=area(1);
tv2.setText("The area(r) result:"+result1);
}
public native float area(float r);
public native float add(float a, float b);
static {
System.loadLibrary("hustlan-jni");
}
}
C代码:hustlan-jni.c
#include
#include
#include <android log.h="">
jfloat
Java_com_sagem_hustlanjni_HustlanJNI_add( JNIEnv* env,
jobject thiz, jfloat a,jfloat b )
{
return (a+b);
}
jfloat
Java_com_sagem_hustlanjni_HustlanJNI_area( JNIEnv* env, jobject thiz, jfloat r)
{
return M_PI*r*r;
}
Makefile: Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := hustlan-jni
LOCAL_SRC_FILES := hustlan-jni.c
LOCAL_LDLIBS := -llog
include $(BUILD_SHARED_LIBRARY)
在android工程目录下,建立一个名为jni的文件夹,把hustlan-jni.c & android.mk文件拷贝进去,生成.so. windows+cygwin下开发,so要push到模拟器的system/lib中,而linux中开发 SO文件会自动嵌入到android的apk中,具体细节还没搞明白。 TBL
5. 运行结果
更多精彩
赞助商链接