因為之前立項的時候,使用的是2.2.6版本。最近好多玩家投訴android7.0的機器有諸多問題,其中有游戲閃退,安裝快捷支付閃退,安裝不上。于是,過了年我騰出手開始查這些問題。找了一臺一加手機連上電腦開始跑,結果我又發現了一個新問題,就是進入游戲黑屏,用logcat看了一下
12-22 14:57:36.927 4847 4864 E WVMExtractor: Failed to open libwvm.so: dlopen failed: library "libwvm.so" not found
然后上網百度,谷歌,似乎都沒有什么有效的解決方法,不過看到好多帖子都是說在播放音頻或者視頻的時候出現的問題。搜了好久實在無法確認到底是怎么回事。于是我把自己封裝的audio_engine和Cocos中的SimpleAudioEngine這兩個類的方法呼叫的地方,全部都注釋掉之后,又跑了一個包,這次好了,沒有黑屏并且進入了游戲。所以想請教論壇里的大神,看看是不是SimpleAudioEngine這個類對于適配安卓7.0是不是有過什么改動或者優化。
uj5u.com熱心網友回復:
把你之前的舊包解壓一個,看看有沒有libwvm.so檔案。如果有,可能是你沒有一加手機的libwvm.so而已。通常so分arm,mip,x86幾個版本,不同的手機cpu要有不同的libwvm.so。
uj5u.com熱心網友回復:
是這樣的,我們的游戲一直就沒有加這個庫,但是Android7.0以下的手機都沒有問題,唯獨7.0會遇到這問題,我昨天仔細的看了以下Cocos2dxSound.java,然后打了以下log,發現是在playEffect方法里邊的this.mSemaphore.acquire()出的問題,然后我查了一下,在知乎上發現有人提問這個問題,有興趣可以看一下,https://www.zhihu.com/question/24843109。后來我按照評論里給出的解決方案試了一下,在Cocos2dx3.X好像有優化過這個問題,我對比修改了Cocos2dxSound.java檔案,黑屏的問題解決了,但是打開游戲的第一個音效卻不能播放了,而且6.0的機器好像也不行了,一聾治一啞了。。。到現在我還沒有完全解決這個問題。
uj5u.com熱心網友回復:
聾子被你治成啞巴了uj5u.com熱心網友回復:
建議你換成3.x的音頻,沒有問題uj5u.com熱心網友回復:
我的專案是2.x 的,成功換成了3.x的音頻模塊轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/60008.html
標籤:Cocos2d-x
