c++ invoke java in android

  

  重新来来java native interface(jni)jni是java调用c++的一种接口,思维局限到单向的从java到c++,我错了!c++可以保持java的对象句柄(我感觉这里用句柄很合适),当然程序入口是开始的activity通过jni来找到c++调用,此时c++可以保存住java的句柄;如果此时程序一直在c++代码上执行,触发一个事件时,c++代码可通过保存的java句柄通过jni超找到java方法(机器内都是二进制而能不能互相认识就要知道函数真实的名字c++ 有Name Mangling,有想必java也有,而且c++不同编译器的Name Mangling方式也不一样),当然不同语言数据类型的不同长度也是语言互通的一个障碍。


   20120116
   一开始,android NDK开发,我用vs看写/代码,之后在cygwin下用命令下编译c++代码,之后clean下java的代码,之后run android程序;如此麻烦,今天终于可以全部在eclipse下完成这些操作了,费点功夫提高长久的成产效率很值的;不过现在还没装gdb不能能调试,一步步来。

write by fgd

posted @ 2012-01-13 19:09  wen_dao_  阅读(1009)  评论(0编辑  收藏  举报