使用javah快速生成本地方法及生成so动态库文件
来源:互联网 发布:用淘宝联盟被发现了 编辑:程序博客网 时间:2024/06/06 02:23
使用javah快速生成本地方法及生成so动态库文件
1、生成包含本地方法的.h文件
如果使用jdk1.6可以直接到bin/classess,在cmd窗口使用如:javah com.lqr.test.MainActivity 命令,即可在bin/classess目录下生成包含本地方法的.h文件。如果使用jdk1.7及以上版本,则要到src目录下操作以上命令,会在src目录下生成包含本地方法的.h文件,原因是1.7后会检查类的关联。
2、得到本地方法:打开生成好的.h文件,把相应的本地方法复制到自己的xxx.c文件中,注意要实现该方法,否则会报方法找不到这种错误。
报错代码如下:
Caused by: java.lang.UnsatisfiedLinkError: Native method not found: com.lqr.test.MainActivity.result_from_c:(II)I
3、到jni目录下,使用ndk-build命令即可在lib目录下生成对应处理器平台的so动态库文件。说明:在jni中,下划线"_"表示层级结构,所以如果本地方法名尽量避免使用下划线。
如果一定要用到下划线,解决方法有:
(1)用javah直接生成对应本地方法,jdk会自动帮我们生成正确无误的方法名。
(2)简单粗暴的在方法名的每个下划线后面写上一个数字1即可,如 result_from_c 对应是 result_1from_1c
0 0
- 使用javah快速生成本地方法及生成so动态库文件
- 如何引用第三方提供的.so库文件以及如何使用javah生成.h文件
- 用javah生成jni本地方法的头文件
- linux下javah生成jni本地方法
- jni编程,使用javah命令生成方法签名头文件
- aix中使用xlc编译生成动态链接库(shared object)(.so)文件的方法
- aix中使用xlc编译生成动态链接库(shared object)(.so)文件的方法
- Linux 下使用gcc生成so(动态链接库)文件
- Android NDK系列(一)-AS使用javah生成so文件
- gcc生成.so文件及.so文件的使用
- javah 使用(Javah生成JNI头文件)
- javah 使用(Javah生成JNI头文件)
- javah 使用(Javah生成JNI头文件)
- g++生成so动态库文件
- QT生成动态链接库.so文件
- Android生成动态库so的方法
- 使用Javah命令生成JNI头文件
- javah生成jni头文件命令使用
- 分析system_call中断处理过程
- redis Java使用例子
- 时钟
- 冒泡排序
- java.lang.NoSuchMethodException 的解决方法们(转)
- 使用javah快速生成本地方法及生成so动态库文件
- 我对MVP的简单理解
- PAT (Advanced Level) Practise 1110 Complete Binary Tree (25)
- 时间日期
- 加载配置文件
- C#序列化,反序列化(Serialize,Deserialize)
- Java对象初始化
- nyoj364(贪心算法~好题)
- 使用NDK时的一些小知识点