По сути, у вас есть две возможности, и обычно первая должна помочь вам найти причину сбоя, не кодируя что-либо, поскольку logcat должен отображать ошибку, которая привела к завершению службы. *
1) Использование команды logcat
Имея Log.i("your tag", "output text")
, вы можете перехватывать эти сообщения с помощью плагина Android Eclipse или вызывая adb logcat
из командной строки, подключив ваше устройство Android и запустив службу.
См. Также http://developer.android.com/guide/developing/tools/adb.html#logat
2) Запись в стандартный вывод
Используя команду System.out.println("...")
, вы можете настроить ваше устройство для записи stdout в файл:
adb shell stop
adb shell setprop log.redirect-stdio true
adb shell start
См. Также http://developer.android.com/guide/developing/tools/adb.html#stdout
Очевидно, что вы должны распространять множество отладочных выходных сообщений по вашему приложению, в основном в критических точках.
Удачи в поиске ошибки!