2015-10-08 2 views
0

У меня есть полное приложение администратора, которое я опубликовал всего несколько дней назад. Иногда конечные пользователи сообщают о проблемах с опубликованным приложением, пока они не воспроизводятся в моем конце.Есть ли способ отслеживать журнал приложения для Android, который опубликован

Есть ли инструмент для отслеживания моего журнала, сгенерированного любым устройством, использующим мое приложение?

+0

Вы можете попытаться отправить сообщение (трассировку) всякий раз, когда в вашем приложении происходит ошибка. Но этот подход нецелесообразен. –

+0

На рынке доступно множество инструментов отчета об ошибках, вы также можете использовать эти инструменты –

+0

добавить Google Analytics в ваше приложение –

ответ

1

Используйте один из этих услуг (конечно, вы могли бы найти другие, но они являются наиболее популярными):

Я лично использую crashlytics, потому что они показывают исключения, брошенные очень хорошо.

- EDIT - от вас последнего комментария, нет никакого способа (я сейчас), чтобы получить выход LogCat без корня программно

1

Crashlytics (по ткани) предлагает Custom Logging и Custom Keys, которые обеспечивают способ протоколирование удаленно на свои серверы.

Я использовал это с большим успехом в прошлом именно по этой причине - он дает вам представление о потоке приложения без необходимости физического доступа к устройству.


вызова по умолчанию для входа сообщение является:

  • Crashlytics.getInstance().core.log(int priority, String tag, String msg);

Это будет писать LogCat, а также Crashlytics.

В качестве альтернативы просто отправьте сообщение, чтобы пропустить регистрацию в LogCat. Согласно примеру на сайте:

  • Crashlytics.getInstance().core.log("Higgs-Boson detected! Bailing out...");
0

Вы можете использовать Google Analytics API part for handling exceptions. Он также предоставляет средства для сбора следов стека. (Это exmaple со страниц API)

// Using StandardExceptionParser to get an Exception description. 
try { 

    // Request some scores from the network. 
    ArrayList<Integer> highScores = getHighScoresFromCloud(); 

} catch (IOException e) { 
// Get tracker. 
Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
    TrackerName.APP_TRACKER); 

    t.send(new HitBuilders.ExceptionBuilder() 
     .setDescription(
      new StandardExceptionParser(this, null) 
       .getDescription(Thread.currentThread().getName(), e)) 
     .setFatal(false) 
     .build() 
); 

    ... // Display alert to user that high scores are currently unavailable. 
} 

Потом все отслеживаемые stracktraces будет отображаться в Google Developer Console в кране вами приложения.

Crashed and ANR' in the Google Developer Console (picture taken from the web)

Вы можете также добавить прослушиватель для ловли необработанного исключения. Поэтому всякий раз, когда вызывается исключение, которое вы не ожидали, обработчик whis будет вызван.

Thread.setDefaultUncaughtExceptionHandler(new MyReportHelper()); 

Конечно, вы всегда должны пытаться поймать и обрабатывать все исключения, о которых вы знаете, этот обработчик предназначен только для чрезвычайных ситуаций. Подробнее о том, как выглядит обработчик, см. here.

0

Мы можем найти множество инструментов, если googled, но я думаю, что будет полезно использовать наше собственное решение для этого, так как приложение может регистрировать конфиденциальную информацию.

Если ваше приложение взаимодействует с вашим собственным серверным сервером, вы можете написать дополнительный веб-сервис, который может сохранять (в db) все исключения, происходящие в приложении. Вы должны отправить данные журнала журнала приложения на сервер, чтобы сохранить его в db. Если для этого приложения есть административная веб-учетная запись, вы можете добавить опцию, чтобы перечислить эти журналы из db. Это будет безопасно, поскольку вы не отправляете журнал приложений стороннему инструменту для регистрации.

Другое защищенное решение содержит any tool like this (which can show realtime log from your device) на вашем собственном сервере.

Смежные вопросы