Android+NDK 入门备忘 Ubuntu 11.10(2)

  #include <string.h>    #include <stdio.h>    #include <android/log.h>    #include <stdlib.h>    #include <jni.h>       JNIEXPORT jstring JNICALL Java_tangyuchun_ndk_hellojni_HellojniActivity_getString(     JNIEnv *env, jclass thiz) {    return (*env)->NewStringUTF(env, "Some say love");           //这里只是做个样例,所以只让他返回一段字符串 "Some say love"     

注意,要给方法添加参数,头文件中只是声明,并没有实参。
 
7.  同样,在 jni 文件夹下面新建一个 Android.mk 文件,内容如下:

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

那个LOCAL_MODULE 就是将要生成的.so 文件名,LOCAL_SRC_FILES就是第6步中编写的 .c 文件。

8.  保存上述文件,打开终端,定位到工程的目录下的jni 文件夹,在终端输入: ndk-build 命令,回车。

9.  返回到工程文件夹下,就会看到生成了两个文件夹 libs 和 obj,其中 libs/armeabi/ 文件夹下面就有 一个libhello-jni.so文件,这

个.so文件其实就是用来在android中调用C语言的类库;

10. 在Android虚拟机上运行上面建立的工程,如下所示:

Android+NDK 入门备忘 Ubuntu 11.10

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/pfszf.html