COCOS2D-X 备注篇ASSETMANAGEREX使用异常解决备注-;CHECK_JNI/CC‘JAVA.LANG.NOCLASSDEFFOUNDERROR’

Posted 李华明Himi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了COCOS2D-X 备注篇ASSETMANAGEREX使用异常解决备注-;CHECK_JNI/CC‘JAVA.LANG.NOCLASSDEFFOUNDERROR’相关的知识,希望对你有一定的参考价值。

本站文章均为 李华明Himi 原创,转载务必在明显处注明:(作者新浪微博: @李华明Himi 
转载自【黑米GameDev街区】 原文链接: check_jni.cc JNI DETECTED ERROR IN APPLICATION: JNI NewGlobalRef called with pending exception ‘java.lang.NoClassDefFoundError’ thrown in unknown throw location>http://www.himigame.com/iphone-cocos2dx/1928.html
 

          ☞ 点击订阅 ☜
 本博客最新动态!及时将最新博文通知您!


                 
width="150" height="210" frameborder="0" scrolling="no" src="http://widget.weibo.com/relationship/bulkfollow.php?language=zh_cn&uids=1916000601&wide=1&color=FFFFFF,FFFFFF,0082CB,666666&showtitle=0&showinfo=1&sense=0&verified=1&count=1&refer=http%3A%2F%2Fwww.himigame.com%2Fiphone-cocos2dx%2F1928.html&dpc=1" style="border-width: 0px; margin: 0px; padding: 0px; font-family: arial, helvetica, clean, sans-serif;">

最近使用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项目,总是出现如下两个问题:

 

出现这问题,我一开始以为是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开发的一些细节的遗忘造成的~ 还是需要复习一下功课才行啊~

以上是关于COCOS2D-X 备注篇ASSETMANAGEREX使用异常解决备注-;CHECK_JNI/CC‘JAVA.LANG.NOCLASSDEFFOUNDERROR’的主要内容,如果未能解决你的问题,请参考以下文章

Cocos2d-x使用iOS游戏内付费IAP(C++篇)

cocos2dx基础篇 Cocos2D-X项目创建

cocos2d-x与着色器设计--入门篇(游云凌天原创)

Android之AssetManager使用

AssetManager$AssetInputStream.finalize() 10 秒后超时

在没有上下文的情况下获取 AssetManager