您的位置:首页 > 编程语言 > Java开发

关于使用javah生成头文件时无法访问class文件的问题

2013-05-29 15:53 627 查看
当生成java类,并且使用javac编译以后,生存JniDemo.class文件。比如此时所在的路径是XXX/src/com/example/hellojni。你的class文件就在这个hellojni文件夹里面,此时如果你直接在这个目录下使用javah命令,则会出现如下错误:

错误: 无法访问 com.example.hellojni.JniDemo

找不到文件com.example.hellojni.JniDemo.class

javadoc: 错误 - 找不到类com.example.hellojni.JniDemo。

Error: 未在命令行中指定任何类。请尝试使用 -help。

如图所示 :



解决方案 :

此时,你可以返回到src目录,然后再执行javah com.example.hellojni.JniDemo
.

如图 :



此时的目录是src,然后执行javah , 注意要加上完整的包名。最后生成了.h文件。



在C文件中实现该头文件中声明的方法,然后写完Android.mk文件。

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE    := hellojni
LOCAL_SRC_FILES :=helloJni.c

include $(BUILD_SHARED_LIBRARY)


最后到cygwin 命令终端下,切换到项目主目录,比如我们这里是D:\JavaProFor64\HelloWorld,然后执行$ndk/ndk-build 命令即可编译。



最后.so动态库文件会在D:\JavaProFor64\HelloWorld\libs\armeabi中存放。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐