把我的项目移植到Android后使用JNI来调用JAVA代码。能调用cocos2dx生成的Appactivity里面的函数。当我自己新建一个activity,并且在mainfest里面注册,但是还是调用不了,提示找不到这个函数。
这是为什么?
亲, 你包名 是否对呢?
(1)C++部分:
在HelloWorld.cpp增加如下函数,用于调用java代码。
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
#include
#include "platform/android/jni/JniHelper.h"
#include
#endif
void HelloWorld::testJNI()
{
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
JniMethodInfo minfo;
bool isHave = JniHelper::getStaticMethodInfo(minfo,"org/cocos2dx/cpp/AppActivity","testjni", "()V");
if (!isHave) {
log("jni:testjni is null");
}else{
minfo.env->CallStaticVoidMethod(minfo.classID, minfo.methodID);
}
#endif
}
```
(2)Java部分:
在org.cocos2dx.cpp.Activity中增加如下函数,供C++调用。
public static void testjni() {
System.out.println("From Java");
}
```
更详细的使用说明,请参考:http://docs.oracle.com/javase/6/docs/technotes/guides/jni/spec/jniTOC.html
包名是对的
我AppActivity中调用没问题。能否告诉我怎么在cocos2dx中添加Android控件?
这是去年写的,Cocos2d-x+安卓原生webview/Button/ImageView控件
http://blog.csdn.net/jackystudio/article/details/17576995
这是代码方式加的
加载编辑好的xml谷歌吧还是很多的。
谢谢 我看看
按照你的方法 VIEW加载上去了。但我这里的控件XML代码比较多,也找不全属性对应的代码控制。能否告知怎么样加载XML布局的界面到 cocos2dx?谷歌吧没找到相关资料?