【COCOS2D-X 备注篇】ASSETMANAGEREX使用异常解决备注->CHECK_JNI.CC JNI DETECTED ERROR IN APPLICATION: JNI NEWGLOBALREF CALLED WITH PENDING EXCEPTION ‘JAVA.LANG.NOCLA

简介:
本站文章均为  李华明Himi 原创,转载务必在明显处注明: 
转载自【黑米GameDev街区】 原文链接:  http://www.himigame.com/iphone-cocos2dx/1928.html

最近使用cocos2dx 3.9版本的时,尝试了使用AssetManagerEx, 非Ex是早期版本,因为是新的扩展所以尝试下。确实挺好用的,基本的流程和对比以及下载等功能都有的。

具体怎么用不用我说了,应该网上一大堆,现在说下遇到的问题。

我一共写了两种形式:

一种是c++自己简易封装AssetManagerEx,然后把我的类通过tolua binding到lua来使用,iphone测试通过,没问题。

另外一种是使用lua版官方binding好的AssetManagerEx的版本测试使用,iphone测试通过,没问题。

 

重点来了,当我不论哪种形式编译到Android后,并且配置好项目(引入android/java/src 以及 android/java/libs/android-async-http-x.x.x.jar)运行Android项目,总是出现如下两个问题:

cpp QQ20160113-0

出现这问题,我一开始以为是ndk的版本问题或者android下的android.mk没有添加扩展包的lib进行参与编译。而且还将cocos2dx-3.9的官方test-cpp/lua编译到android运行,发现都仍然继续报如图的错误。

通过同事的一句话提醒,我恍然大悟了。其实是Himi对Android这边开发相比较而言少了很多。jar的引入,我引入有问题造成的。

   后来我通过如下步骤重新引入android-async-http-x.x.x.jar得以解决:

     右键android项目下的libs->import->General->File System->Browse…
          * 此jar包在项目下的 cocos2dx/cocos/platform/android/java/libs
     选中如上路径->选中libs->Finish

 

有时候问题比较简单,反而想的过于复杂。引用我同事一句话“错误不写了 java.lang.NoClassDefFoundError  么” 哈哈哈。当然虽然说解决方式很简单,但是也是Himi对Android开发的一些细节的遗忘造成的~ 还是需要复习一下功课才行啊~


相关文章
|
2月前
|
JSON Java 数据格式
java调用服务报错415 Content type ‘application/octet-stream‘ not supported
java调用服务报错415 Content type ‘application/octet-stream‘ not supported
206 6
|
5月前
|
Java Shell Maven
【Azure Container App】构建Java应用镜像时候遇无法编译错误:ERROR [build 10/10] RUN ./mvnw.cmd dependency:go-offline -B -Dproduction package
在部署Java应用到Azure Container App时,构建镜像过程中出现错误:“./mvnw.cmd: No such file or directory”。尽管项目根目录包含mvnw和mvnw.cmd文件,但依然报错。问题出现在Dockerfile构建阶段执行`./mvnw dependency:go-offline`命令时,系统提示找不到可执行文件。经过排查,确认是mvnw文件内容异常所致。最终通过重新生成mvnw文件解决该问题,镜像成功构建。
196 0
|
6月前
|
Java 程序员 数据库连接
我们详细地讲解一下 Java 异常及要如何处理
我是小假 期待与你的下一次相遇 ~
154 1
|
9月前
|
SQL Java 中间件
【YashanDB知识库】yasdb jdbc驱动集成BeetISQL中间件,业务(java)报autoAssignKey failure异常
在BeetISQL 2.13.8版本中,客户使用batch insert向yashandb表插入数据并尝试获取自动生成的sequence id时,出现类型转换异常。原因是beetlsql在prepareStatement时未指定返回列,导致yashan JDBC驱动返回rowid(字符串),与Java Bean中的数字类型tid不匹配。此问题影响业务流程,使无法正确获取sequence id。解决方法包括:1) 在batchInsert时不返回自动生成的sequence id;2) 升级至BeetISQL 3,其已修正该问题。
【YashanDB知识库】yasdb jdbc驱动集成BeetISQL中间件,业务(java)报autoAssignKey failure异常
|
7月前
|
Java
Java 中 Exception 和 Error 的区别
在 Java 中,`Exception` 和 `Error` 都是 `Throwable` 的子类,用于表示程序运行时的异常情况。`Exception` 表示可被捕获和处理的异常,分为受检异常(Checked)和非受检异常(Unchecked),通常用于程序级别的错误处理。而 `Error` 表示严重的系统级问题,如内存不足或 JVM 错误,一般不建议捕获和处理。编写程序时应重点关注 `Exception` 的处理,确保程序稳定性。
239 0
|
9月前
|
SQL druid Oracle
【YashanDB知识库】yasdb jdbc驱动集成druid连接池,业务(java)日志中有token IDENTIFIER start异常
客户Java日志中出现异常,影响Druid的merge SQL功能(将SQL字面量替换为绑定变量以统计性能),但不影响正常业务流程。原因是Druid在merge SQL时传入null作为dbType,导致无法解析递归查询中的`start`关键字。
|
10月前
|
Java 程序员 开发者
Java社招面试题:一个线程运行时发生异常会怎样?
大家好,我是小米。今天分享一个经典的 Java 面试题:线程运行时发生异常,程序会怎样处理?此问题考察 Java 线程和异常处理机制的理解。线程发生异常,默认会导致线程终止,但可以通过 try-catch 捕获并处理,避免影响其他线程。未捕获的异常可通过 Thread.UncaughtExceptionHandler 处理。线程池中的异常会被自动处理,不影响任务执行。希望这篇文章能帮助你深入理解 Java 线程异常处理机制,为面试做好准备。如果你觉得有帮助,欢迎收藏、转发!
638 14
|
10月前
|
缓存 Java 应用服务中间件
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
2022 5
Java基础异常-自定义异常
Java基础异常-自定义异常
Java基础异常-自定义异常
|
Java 编译器
Java中的异常(抛出异常、自定义异常等)
Java中的异常(抛出异常、自定义异常等)
546 1