Quick-Cocos2d-x lua 调用java 在谷歌手机5.0 以上出现的问题处理方式

我在接接谷歌的SDK的时候测试发现这个问题:

android art runtime check_jni.cc error on package name

经过各种查找发现是lua中的包名写法出现了问题,我之前的写法是:com.kidbear.addone.Tapme    在谷歌5.0 以上的系统就不认了,JNI的标准是斜杠,点号并不规范,不是所有的手机都支持。最后改成com/kidbear/addone/Tapme 这种方式后就没有问题了,

欢迎交流 ,交流QQ:837138108 添加最好备注

时间: 2024-10-24 21:27:19

Quick-Cocos2d-x lua 调用java 在谷歌手机5.0 以上出现的问题处理方式的相关文章

lua调用java过程

在cocos2dx框架中,有继承好的luaj文件来方便我们去使用lua调用java底层代码,注意:luaj只能使用在安卓平台下,如果在平台下使用,会出错, 所以使用前需要加平台判断,方法 如下: local luaj = require("src/cocos/cocos2d/luaj")--引入luaj库 luaj.callStaticMethod("org/cocos2dx/lua/类文件名",方法名, {参数}, 签名) 例如: 在java中的text.java

Android平台下使用lua调用Java代码经验总结

动态语言以其执行的灵活性,可配置性.方便调试能够为开发带来极大的方便.假设用好了.能够极大的提高开发的效率. 怪不得像游戏开发这样复杂的软件开发里没有不集成脚本语言的. 当中,lua以其小巧,灵活.方便扩展,方便嵌入被用于大多数的游戏开发中. 对于我来说.对于一个充分认识到动态的力量的人来说,在软件开发里集成一种脚本语言成为一种非常重要的非常有意义的工作. 可是在Android平台.在试过Python后,发现尽管集成也不是什么困难的事,可是感觉它还是有点大,一个动态库就有3M多,python库还

LuaJavaBridge - lua与java互操作的简单解决方案

引入:Android平台代码和Lua代码的交互均通过C++和Java交互,Lua再和C++交互(lua  <==> C++ <==> java) 我最开始遇见这种lua调用java的做法是先用 C/C++ 借助 JNI 编写调用 Java 的接口函数,然后再将这些函数通过 tolua++ 导出给 Lua 使用.这种做法最大的问题就是太繁琐,而且稍微有一点点修改,就要重新编译,严重降低了开发效率. 后来知道了luaj这个东西,发现之前的做法简直太傻帽了. luaj 主要特征: 1.可

LuaJ 调用java方法性能研究

先简单写一下: lua调用java的方法,在luaJ中有两种. 1 使用官方提供的luaJava库 local ins = luajava.newInstance( "com.test.lj.TestClass");ins:test() 2 自己绑定方法,采用类似原版lua的方式将方法 local ins = TestClass.new() --new方法自己绑定 ins:test() 哪种方法好? 结论: 令人惊讶的是,luajava库反射调用的性能在某些情况下,竟然比java原生绑

cocos2d 中使用jni C++ 调用 Java 方法

1.简单数据类型例子 假设我们Java中有这么一个open的静态方法,它没有参数,有一个int的返回值.怎么在C++中调用它呢? package cb.CbCCBLE; public class CbCCBLECentralManager { public static final String TAG = "CbCCBLECentralManager Android"; public static int open() { Log.d(TAG,"open"); r

cocos2d 中使用jni Java 调用 C++ 方法

1.首先是LoadLibrary cocos2d中的C++代码会编译成一个.so文件,放在安卓目录下的libs/armeabi 下,然后java会load进来,这步我们不用做了,因为cocos2d已经帮我们做好了. package cb.CbCCBLE; public class CbCCBLECentralManager { public static final String TAG = "CbCCBLECentralManager Android"; public native

quick cocos2d x 手机(Android端)启动过程学习

简要学习下quick cocos2d x 在安卓端启动的过程. 首先需要了解一点:quick cocos2d x是依托于Android的activity和GLSurfaceView(继承自SurfaceView)的环境来显示quick层的游戏界面. (1)首先quick类的android游戏从AndroidManifest.xml文件指定的activity(假设AC)启动. (2)AC继承父类的Cocos2dxActivity. (3)调用静态初始化块,加载cocos2dx的动态库.也就是一些C

Quick-Cocos2d-x 使用tolua工具导出C++的类给Lua调用

记得很久以前,刚开始接触Quick,那时候尝试过一次这样的操作,不过失败了. 因为那时候还年幼,对这里面的一套机制不是太熟悉.现在回头再做这样的事,遇到了问题,但是都很好的根据自己的理解给解决了. 现在记录下,我tolua成功的过程,在写blog的过程中,更熟练其中的原理. PS:网上关于quick tolua的blog都有点过时了(dualface的quick官网文章),具体的过程,还是要自己多注意. 我是基于Quick  2.2.1-rc版本实现的. ————————————————————

quick cocos2d x场景切换的生命周期函数调用学习

先上一个场景的基本模版: 1 local ModelScene = class("ModelScene", function() 2 return display.newScene("ModelScene") 3 end) 4 5 function ModelScene:ctor() 6 self.sceneName = "ModelScene" 7 -- 注册点击事件监听 8 self.layer = display.newLayer() 9