sampleRate = Integer.parseInt(strSampleRate);//这句奔溃

            final String strSampleRate = Cocos2dxReflectionHelper.<String>invokeInstanceMethod(am, "getProperty", new Class[]{String.class}, parameters);

            // AudioManager.getProperty(AudioManager.PROPERTY_OUTPUT_FRAMES_PER_BUFFER);
            parameters = new Object[]{Cocos2dxReflectionHelper.<String>getConstantValue(audioManagerClass, "PROPERTY_OUTPUT_FRAMES_PER_BUFFER")};
            final String strBufferSizeInFrames = Cocos2dxReflectionHelper.<String>invokeInstanceMethod(am, "getProperty", new Class[]{String.class}, parameters);

            sampleRate = Integer.parseInt(strSampleRate);//这句奔溃

LGE LG Logos (c70), 1024MB RAM, Android 5.0 手机型号
1.4.2版本

Caused by: java.lang.NumberFormatException:
at java.lang.Integer.invalidInt (Integer.java:137)
at java.lang.Integer.parseInt (Integer.java:354)
at java.lang.Integer.parseInt (Integer.java:331)
at org.cocos2dx.lib.Cocos2dxHelper.init (Cocos2dxHelper.java:133)
at org.cocos2dx.lib.Cocos2dxActivity.onCreate (Cocos2dxActivity.java:270)

打印下看看那个字符串是什么

google play后台报的错,很多机型这个奔溃

看这个stack就是非法字符串问题啊

这是字符串有问题,加个 try catch 之类的吧

可以加try,catch。我希望的是,官方可以解决这个问题是了。不是skip就完事了

从代码上看,这个应该是JAVA层面的代码,用的方法和类也是java库自带的,跟COCOS官方真没太大关系。try catch或者转换前加个正则表达式都是可以的

那你要说下这个问题怎么产生的,strSampleRate 的值是多少导致的错误?官方才能决定如何修复最合适。

Cocos2dxHelper.java里出现的闪退,你们难道不该给一个官方的处理方案吗? 都两年了,这个地方都没任何变化。

1赞