本站文章转载务必在明显处注明:原文链接http://blog.csdn.net/cjsen/article/details/9613961
前言
当在cocos2dx上使用跟平台有关的一些功能或控件时(如,WebView),cocos2dx并不能帮我们实现跨平台,这就需要我们根据不同的平台实现,如果在IOS上很容易实现,可以进行混编。而在Android上,我们就需要用JNI调用Java代码..下面主要给出Android上JNI的实现流程Demo
关于JNI说明与使用请参考:http://go3k.org/?p=49
实现
以实现一个自己封装的“跨平台”webview Demo。
实现过程(android): 在Xcode中封装好JNI调用Android的类ZYCCWebViewAndroidJNI.cpp (头文件为ZYCCWebView),在cocos2dx中调用ZYCCWebViewAndroidJNI中的方法,而ZYCCWebViewAndroidJNI会调用android中的方法,然后自己在eclipse上写好被ZYCCWebViewAndroidJNI调用的方法的实现(Java)。
配置运行Demo
请参考另一篇博客配置,修改两个配置文件 build_native.sh 与Android.mk
Cocos2d-x游戏开发之整合cocos2dx的Android项目到Xcode项目中
已经将proj.android编译过,直接导入eclipse即可
ChatWebViewDemo
另外,关于如何在android项目中,将数据回调给cocos2dx(C++)中进行与ios上同样的处理
可参考此文章,亲测没问题
cocos2d-x 通过JNI实现c/c++和Android的java层函数互调