我从 Android PLAY 错误中得到以下信息。游戏在模拟器上进行了测试,我自己的真机(注2)在制作时从未出现此错误。
我做错了什么?
Exception class java.lang.NoSuchMethodError
Source method BaseActivity.onSetContentView()
和堆栈
java.lang.NoSuchMethodError: com.google.ads.AdView.setRotation
at net.mindzone.trafficchaos.BaseActivity.onSetContentView(BaseActivity.java:81)
at org.andengine.ui.activity.BaseGameActivity.onCreate(BaseGameActivity.java:85)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
at android.app.ActivityThread.access$1500(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3687)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
at dalvik.system.NativeStart.main(Native Method)
编辑对于其他想要答案的人来说,这是 jcw 所说的一半。这确实是一种在较低 API 上不存在的方法。(在这种情况下,视图中的 setRotation 仅在 api 13 及更高版本中可用。)虽然因为我在 onSetContentView() 中调用它,但它在谷歌播放中给出了错误。
解决方案是:将方法放在 TRY ...CATCH... 块中,并恢复到视图的 oldskool 转换,以防万一失败。现在谷歌播放不再给我任何用户错误。