公司上线了一款游戏。用的是cocos2d-x 3.12 lua 开发,上线后崩溃率大概在2%。
排除不支持的过低版本机型
其中大部分机型崩溃集中在。Faile to open comm file(/system/build.prop)这个错误。
下面贴出崩溃堆栈
1 #00 pc 00ae8e64 /data/app/com.droidhang.dr2.gp-tPGwJW_d5C0kN5kqnG44NA==/lib/arm/libcocos2dlua.so (cocos2d::Texture2D::updateWithData(void const*, int, int, int, int)+4) [armeabi-v7a]
2 java:
3 org.cocos2dx.lib.Cocos2dxRenderer.nativeRender(Native Method)
4 org.cocos2dx.lib.Cocos2dxRenderer.onDrawFrame(Cocos2dxRenderer.java:135)
5 android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1571)
6 android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1270)
此外还有崩溃的lua日志监控
16207-06 10:49:38.068 19769 29402 D cocos2d : FileUtils::getContents(assets): assets/res/texture/figh/dgNumber.png
16307-06 10:49:38.068 19769 29402 D cocos2d : EncryptUtil::decrypt signSize 7
16407-06 10:49:38.069 19769 29402 D cocos2d : FileUtils::getContents(assets): assets/res/texture/figh/enCounter.png
16507-06 10:49:38.070 19769 29402 D cocos2d : EncryptUtil::decrypt signSize 7
16607-06 10:49:38.070 19769 29402 D cocos2d : FileUtils::getContents(assets): assets/res/texture/icon/buff/318.png
16707-06 10:49:38.070 19769 29402 D cocos2d : EncryptUtil::decrypt signSize 7
16807-06 10:49:38.070 19769 29402 D cocos2d : reload shader onRenderRecreated
16907-06 10:49:38.070 19769 29402 D cocos2d : FileUtils::getContents(assets): assets/src/gk/res/shader/NoMvp.vsh
17007-06 10:49:38.070 19769 29402 D cocos2d : FileUtils::getContents(assets): assets/src/gk/res/shader/Freeze.fsh
17107-06 10:49:38.071 19769 29402 D cocos2d : FileUtils::getContents(assets): assets/src/gk/res/shader/NoMvp.vsh
17207-06 10:49:38.071 19769 29402 D cocos2d : FileUtils::getContents(assets): assets/src/gk/res/shader/Old.fsh
17307-06 10:49:38.079 19769 29402 E cocos2d : onSurfaceChanged, width = 2160, height = 1080, landscape = true
17407-06 10:49:38.080 19769 29402 E cocos2d : onSurfaceChanged, did!
17507-06 10:49:38.098 19769 29402 I MediaPlayer: start
17607-06 10:49:38.121 19769 29402 E CrashReport-Native: Faile to open comm file(/system/build.prop)
17707-06 10:49:38.240 29424 29424 W Zygote : child_detach_binder close binder
日志里面反馈的位置是我在进入游戏的时候加载资源,
上面那个 E cocos2d : onSurfaceChanged, did!其实是我做的一个正常打印,只是为了醒目用的log.e 具体代码如下
上面部分执行完成后,就应该进入游戏,开始音频的播放的MediaPlayer: start。。再后面就崩溃在了这个地方 CrashReport-Native: Faile to open comm file(/system/build.prop)
翻找资料没有发现有用的信息。。请各位大大帮忙看看