충돌보고를 위해 ACRA를 사용하고 있지만 갑자기 문제가 발생합니다. 내 애플리케이션이 시작되지 않고 충돌 보고서 알림이 표시되지만 아무 것도하지 않습니다. ACRA가 충돌합니다.
11-20 19:25:53.093: E/ACRA(16233): ACRA caught a RuntimeException exception for com.skipmorrow.phca. Building report.
11-20 19:25:53.763: D/ApplicationPolicy(716): isStatusBarNotificationAllowed: packageName = com.skipmorrow.phca
11-20 19:25:53.763: E/ACRA(16233): com.skipmorrow.phca fatal error : Unable to create application com.skipmorrow.phca.ACRA: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
11-20 19:25:53.763: E/ACRA(16233): java.lang.RuntimeException: Unable to create application com.skipmorrow.phca.ACRA: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
11-20 19:25:53.763: E/ACRA(16233): at com.skipmorrow.phca.ACRA.onCreate(ACRA.java:89)
많이하지
가 가고 있지만, ACRA 자체가 문제가되는 것 같습니다 : 로그 캣 열기, 나는 다음과 같은 항목을 볼 수 있습니다. 여기 내 ACRA 구현 클래스입니다 :package com.skipmorrow.phca;
import org.acra.annotation.*;
import org.acra.ReportingInteractionMode;
import android.app.Application;
@ReportsCrashes(
formKey = "dFdSMXh...E6MQ",
mode = ReportingInteractionMode.NOTIFICATION,
resNotifTickerText = R.string.crash_notif_ticker_text,
resNotifTitle = R.string.crash_notif_title,
resNotifText = R.string.crash_notif_text,
resNotifIcon = android.R.drawable.stat_notify_error, // optional. default is a warning sign
resDialogText = R.string.crash_dialog_text,
resDialogIcon = android.R.drawable.ic_dialog_info, //optional. default is a warning sign
resDialogTitle = R.string.crash_dialog_title, // optional. default is your application name
resDialogCommentPrompt = R.string.crash_dialog_comment_prompt, // optional. when defined, adds a user text field input with this text resource as a label
resDialogOkToast = R.string.crash_dialog_ok_toast, // optional. displays a Toast message when the user accepts to send a report.
logcatArguments = {
"-t"
,"2000"
,"-v"
,"time"
,"PHCA_ActionCommand:D"
,"ActionParameterEditTextActivity:D"
,"ActionParameterSeekbarActivity:D"
,"PHCA_C2DMReceiver:D"
,"PHCA_CommonActivity:D"
,"PHCA_ConfigurationActionCommandChooser:D"
,"PHCA_ConfigurationAddNewAction:D"
,"PHCA_ConfigurationAddNewPage:D"
,"PHCA_ConfigurationAddNewPagelink:D"
,"PHCA_ConfigurationAddNewPageStatus:D"
,"PHCA_ConfigurationEditActionCommand:D"
,"PHCA_ConfigurationEditPageRefreshUpdateActivity:D"
,"PHCA_ConfigurationEditVariable:D"
,"PHCA_ConfigurationEditVariableValueSetting:D"
,"PHCA_ConfigurationLandingPage:D"
,"PHCA_ConfigurationPageChooserActivity:D"
,"PHCA_ConfigurationPageObjectChooserActivity:D"
,"PHCA_ConfigurationRefreshUpdateChooserActivity:D"
,"PHCA_DBAdapter:D"
,"PHCA_DragListener:D"
,"PHCA_DragNDropAdapter:D"
,"PHCA_DragNDropListView:D"
,"PHCA_DropListener:D"
,"PHCA_EditC2dmSettingsActivity:D"
,"PHCA_EditGlobalPrefsActivity:D"
,"PHCA_EnterFilenameForBackup:D"
,"PHCA_EnterPinActivity:D"
,"PHCA_EnterPinDialog:D"
,"PHCA_HttpNetworking:D"
,"PHCA_ListLabels:D"
,"PHCA_MyListArrayAdapter:D"
,"PHCA_Page:D"
,"PHCA_PageAction:D"
,"PHCA_PageChooserDialog:D"
,"PHCA_PageImageActivity:D"
,"PHCA_PageLink:D"
,"PHCA_PageListActivity:D"
,"PHCA_PageRefreshUpdate:D"
,"PHCA_PageStatus:D"
,"PHCA_PhcaActivity:D"
,"PHCA_PhcaAppWidgetConfigurator:D"
,"PHCA_PhcaAppWidgetProvider:D"
,"PHCA_PhcaMenu:D"
,"PHCA_PhcaPrefs:D"
,"PHCA_PhcaUtils:D"
,"PHCA_RemoveListener:D"
,"PHCA_SocketServerNetworking:D"
,"PHCA_Variable:D"
,"PHCA_VariableChooser:D"
,"PHCA_VariableSetting:D"
,"PHCA_VariableValueSettingChooser:D"
,"PHCA_VisiblePhcaPageObject:D"
,"PHCA_WidgetDialogResponseActivity:D"
,"PHCA_XmlFileChooser:D"
,"PHCA_XmlNodeCounter:D"
,"PHCA_XmlParser:D"
,"*:S"
}
)
public class ACRA extends Application {
@Override
public void onCreate() {
// The following line triggers the initialization of ACRA
org.acra.ACRA.init(this); // <<<<====== LINE 89
super.onCreate();
}
}
또 다른 단서 (내가 생각하는) 내 ACRA 클래스에서에서 onCreate에, 나는 완전한
으로 초기화를 호출 할 필요가 있다는 사실은org.acra.ACRA.init(this)
EDIT 나는 이것이 처음으로 나온 것을 믿을 수 없다. 이것은 com.skipmorrow.phca.ACRA의 89 번째 줄입니다.
ACRA를 사용했던 다른 프로젝트에서 나는 그렇게 할 필요가 없었습니다. 실제로 ACRA.init 만 사용하여 init()을 호출합니다. (이). 즉, 함께 할 수있는 뭔가가 있을까?
ACRA를 사용하여 ACRA 충돌을 잡아냅니다 ... 시작! ;) –
@ WebnetMobile.com +1 좋아요! :) – MrGibbage