今天遇到一个奇怪的问题,我在c++自定义了一个类,通过tolua++导出接口,然后在VS编辑器下可以正常调用,但是发布到android平台上就会报错(自定义类nil),感觉很奇怪!不知道哪位朋友遇到过类似的问题,可以提供一下解决思路!
我的判断是模拟器可以正常使用,那么接口导出是成功的,c++自定义类本身也不存在问题,但是在安卓平台无法调用,那么可能是android.mk文件没有导入自定义类,但是我确定过,Eclipse重新编译,该类已经正常编译,而且在luacocos2d.cpp中也存在了该类的接口,那么问题出在哪里呢?百思不得其解!希望有类似经历的朋友谈谈自己的思路,先谢过了!
没有人遇到类似的问题吗?
目测还是mk文件没有处理好的原因
今天也碰到了同样的问题,说下我这边的情况:
如果是在Cocos Code IDE用PrebuiltRuntimeLua.apk在android进行调试的话,的确会找不到自定义导出类(在window调试则正常)
原因应该是PrebuiltRuntimeLua.apk是已经编译好的了,不包含用户自定义的类,故在此APK基础上运行lua调用自定义C++会出现nil值错误。
这时候配置好在android目录下jni/Android.mk,重新编译导出个apk,在Cocos Code IDE 调试配置中debug configuration 中browse选择新的apk进行调试即可。
ps:其实自定义类在VS中未编译过,在Cocos Code IDE中也是找不到的,故android同理,也须重新编译即可。