`

NDK编译后的文件如何加载到Android项目

 
阅读更多

1:建一个androd项目 在src下写一个Demo.java包括一些jni方法如下:

public native getData();

2:把Demo.java生成一个c的头文件 然后在这个头文件下写相关的c方法

步骤如下:

从cmd进入到android项目的bin目录下:输入 javah -classpath. jni tao.hai.bing.Demo

(注意有时候javah找不到,要把javah.exe目录加入到环境变量中去,path。。。)

3:在bin目录下找到生成的头文件

4:在ndk目录下操作

1)在ndk中的source目录下建一个demo文件夹并建一个Android.mk文件

内容如下:

LOCAL_PATH :=${call my-dir}

include ${CLEAR_VARS}

LOCAL_MODULE :=demo //app会用到 生成的文件是libdemo.so文件

LOCAL_SRC_FILES :=tao_hai_bing_Demo.c 编译的文件

LOCAL_CFLAGS :=**.c 项目需要的.h头文件目录列表

LOCAL_LDLIBS := **.so

2)在App目录下建一个和source目录下建的文件夹一个名称

加入一个Application.mk文件 内容如下:

APP_PROJECT_PATH := ${call my_dir}/project

APP_MODULES:=demo

3)点击cygwin的批处理输入: cd $ANDROID_NDK_ROOT ->make APP=demo

4)这样就会在ndk目录的app文件夹的demo内生成project目录把lib目录拷贝到

android项目的下和src并集

5:android项目调用so文件的内容

在android的activity类下加入如下方法:

static

{

System.loadLibrary("demo");

.....

Demo demo = new Demo()

demo.getData();//这样这个数据就从c文件传过来的

.....

}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics