本站文章均爲 李華明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開發的一些細節的遺忘造成的~ 還是需要複習一下功課才行啊~