HelloJni关键步骤

关键步骤:生成头文件(参照收藏的书签jni/HAO)、生成.so文件

生成头文件:用cygwin进入workspace中工程所在目录,再,$ javah -classpath bin/classes -d jni com.ndk.HelloJni

(千万这注意这里的bin/classes,这bin目录下无 一直提示无法找到 类文件,原因是我bin目录下还有一层目录 classes)

 

生成.so文件:

在NDK的主目录 android-ndk-r6b 下面有个 sources 文件夹中创建一个名为 myndk 的文件夹

我这里需要在 myndk 文件夹下面再创建一个名为 jni 的文件夹,文件夹中有如下三个文件

NDK入门实例,生成.so文件 - 心海飘云 - zctyas blog 

这里的Android.mk文件中的内容如下

NDK入门实例,生成.so文件 - 心海飘云 - zctyas blog NDK入门实例,生成.so文件 - 心海飘云 - zctyas blog
 
执行过程中
NDK入门实例,生成.so文件 - 心海飘云 - zctyas blog 
执行后,结果如 

NDK入门实例,生成.so文件 - 心海飘云 - zctyas blog 

8、把生成的so库,放到Android 工程下面
NDK入门实例,生成.so文件 - 心海飘云 - zctyas blog

  
把 libs 文件夹,复制到 android中MyNDK工程的主目录

 

android开发用ndk编译so库时,有时直接从别的地方拷贝Android.mk文件,会报:

make: *** 没有规则可以创建“obj/local/armeabi/objs/a/a.o”需要的目标“/a.c”。 停止。

出现这个这个错误,可能是因为android.mk的文件格式可能是windows下拷贝,或是从网页copy,只要用vi在linux下打开Android.mk文件把行尾一些多余的看不见字符清除即可。

 

注意:../../ndk-build

hello-jni.c和Android.mk文件都是自己用new->file新建的

posted @ 2014-02-09 22:45  welzo  阅读(136)  评论(0编辑  收藏  举报