1

ACRA を使用してクラッシュ レポートを取得していますが、アプリが次のエラーでクラッシュします。

java.lang.IllegalStateException: ACRA#init called more than once
    at org.acra.ACRA.init(ACRA.java:121)
    at com.m7.nomad.NomadApplication.onConfigurationChanged(NomadApplication.java:15)
    at android.app.ActivityThread.performConfigurationChanged(ActivityThread.java:3515)
    at android.app.ActivityThread.handleConfigurationChanged(ActivityThread.java:3655)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1128)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:150)
    at android.app.ActivityThread.main(ActivityThread.java:4369)
    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:846)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:604)
    at dalvik.system.NativeStart.main(Native Method)

この問題を解決する方法はありますか?

4

1 に答える 1

0

かなり明示的だと思います => ACRA.init メソッドが 2 回 (またはそれ以上) 呼び出されます

onConfigurationChanged メソッドで ACRA を初期化したのはなぜですか?

onConfigurationChanged は、構成が変更されるたびに呼び出されます (ワトソン博士の推測は適切です...): たとえば、ハンドセットの向きを変更すると...

Application.onCreate メソッドで ACRA を初期化する必要があります (一度だけ呼び出されます)。

public class MyApplication extends Application {
  @Override
  public void onCreate() {
    super.onCreate();
    ACRA.init(this);
  }
}
于 2013-05-15T12:17:52.683 に答える