最近在研究cocos2d游戏移植安卓需要调用很多方法,所以在研究之中写下它们之间相互调用
首先,cocos2d调用安卓
在一个.h文件中添加头文件
#include <jni.h>
#include "platform\android\jni\JniHelper.h"
com/zhangying/jni/applay参数为调用安卓中的类的全路径;
testFunWithStringAndRtn为类中要调用的方法
(I)V 返回值和传入参数的类型
完成以上步骤就可以测试cocos2d调用安卓中的代码了
然后安卓调用cocos2d
首先在项目中找到jni中的hellocpp中的main.cpp
在其中加入
#include <android/log.h>
#include "data/ReadData.h"
#define LOG_TAG "main"
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG,LOG_TAG,__VA_ARGS__)
using namespace cocos2d;
void cocos_android_app_init (JNIEnv* env, jobject thiz) {
LOGD("cocos_android_app_init");
AppDelegate *pAppDelegate = new AppDelegate();
}
#endif
}
注意:
Java_com_yiqu_mobilesdk_iap_IAPOrder_callbackMobiles这个名字不是随便定义的
Java是固定的com.yiqu.mobilesdk.iap是包名 IAPOrder是类名字,callbackMobiles是你要调用的方法名字
这样就写成了这个方法
在你要调用cocos2d的java类中写上要调用的方法名字 写法如下
public native static void callbackMobiles(); 名字随便定义,但是native不能丢掉
然后在该类中直接调用callbackMobiles()
就可以直接进入到CCLog("测试是否进入");中了
哈哈 结束了,这是本人正在用的游戏中支付的一块代码调用,运行都正常,如有不好的地方望指出
也可进入群:252799892 大家一起交流
如果感觉对你有帮助给个评价
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。