作者qrtt1 (有些事,有时候。。。)
看板java
标题[URL] JNI 参考文件
时间Thu Mar 14 11:26:04 2013
JNI 算是比较冷门一点的领域,趁着有人发问,
贴一些我知道的连结呗
官网当然是必看的,虽然他不太好啃,但是看完绝对有帮助。
Java Native Interface
http://docs.oracle.com/javase/6/docs/technotes/guides/jni/
如果刚开始看,时间又不多时,除了 api 本身的 call 法要会之外。
至少要能正确完成下列事项:
*. 确定你能正确完成指标操作与 c/cpp 记忆体管理
(c <--> cpp 互 call/link 的注意事项也是必备的)
*. 认识 Global & Local Reference,并确保该释放的 ref 有释放
*. 如果需要在 jni 层 keep 住某个指标让 java object 记住
得确定一下需使用的 type,像在 32bit & 64bit 下需要的 type 可能不。
*. 如果需要处理字串,先把手册内的 util 整理出来,放在你的专案内用吧
(手册内有许多 util,不只有处理字串的部分 :D )
如果在写 android 上的 JNI,可以先蒐集一下 ICS 後的变更事项
例如:
http://android-developers.blogspot.tw/2011/11/
jni-local-reference-changes-in-ics.html
若是你看到程式爆掉在 libdvm.so 那应该是 jni 部分没处理好什麽,
记得往上翻一点 log 看看有没有线索
其他参考资料:
JNI 开发笔记 (1) 开发流程
http://www.javaworld.com.tw/jute/post/view?bid=11&id=288677&sty=3
JNI 开发笔记 (2) 常用功能
http://www.javaworld.com.tw/jute/post/view?bid=11&id=288678&sty=3
JNI 开发笔记 (3) 实战练习
http://www.javaworld.com.tw/jute/post/view?bid=11&id=291118&sty=3
JNI 开发笔记 (4) Android NDK 简介
http://www.javaworld.com.tw/jute/post/view?bid=11&id=298481&sty=3
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 211.72.110.37
※ 编辑: qrtt1 来自: 211.72.110.37 (03/14 11:27)
※ 编辑: qrtt1 来自: 211.72.110.37 (03/14 11:28)
1F:推 superlubu:头推 03/14 11:27
※ 编辑: qrtt1 来自: 211.72.110.37 (03/14 11:30)
2F:→ dardar923:很棒的文章!!推! 03/14 12:00
3F:推 brianhsu:推! 03/14 17:02
4F:推 Numbstu:推 03/18 21:52