ACRA (Application Crash Report for Android) 是個很受歡迎的 Android library,因為當你的 app 掛點時,它可以送一份驗屍報告 (crash report) 到 server 保存,以便開發者能做事後分析並修正問題。

你需要做的只是下面簡短幾行設定:

@ReportsCrashes(formKey = "dGp6WmNqdXNMM2lkTkJiUmhHRlM014615") // Add this line
public class Globals extends Application {

    private static Airport sAirport;

    public static Airport getAirport(Context context) {
        if (sAirport == null) {
            sAirport = new TaoyuanAirport(context.getApplicationContext());
        }
        return sAirport;
    }

    @Override
    public void onCreate() {
        ACRA.init(this); // Add this line
        super.onCreate();
    }
}

然後 manifest 裡面加上以下設定:

<uses-permission android:name="android.permission.INTERNET"/>

<application
        android:name=".Globals"
        android:icon="@drawable/ic_app">

最後記得去連結 arca-x.y.z.jar 就行了。

細節可以參考網站上的教學。目前網站上教的方式是把 crash report 發到你指定的 Google Docs 文件裡,是可以用但實用度非常低,因為用 spreadsheet 來看 crash report 非常地不方便。

這種有普遍需求但做起來不方便的事,在今天這個世界,一定有人已經想到並且設法解決你的問題(並且從中賺到你的錢),BugSense 是目前看起來還不錯的一家,據說每天處理超過一千萬條程式錯誤。目前 BugSense 支援 Android, iOS, Windows Phone 7, HTML5, 及 Google App Engine。使用量不大的話,可以先試看看它的免費版本。

Why use BugSense?