Редактировать: Начиная с Jelly Bean, ни вы, ни Log Collector не можете прочитать вывод debuggerd
, потому что READ_LOGS пропал . : - (
Но в отчетах о сбоях Play Console теперь присутствуют собственные трассировки стека (по крайней мере, в конце 2014 года), что делает все это гораздо менее необходимым.
Ранее:
Я дам свой ответ в виде git commit:
https://github.com/chrisboyle/sgtpuzzles/commit/e9917f1ffe93f9d9963463db849e3768beafccee
Это делегирование Log Collector, как я намекал выше. Я улавливаю сбой, как и раньше (см. в моем предыдущем обсуждении того, как это сделать ), как и раньше, отображается экран «упс, я разбился», и если пользователь нажимает кнопку «Отчет», то я предлагаю ему установить Log Collector если они этого еще не сделали.
Если я отправил пользователя для его установки, как только он закончит установку, я перехватываю PACKAGE_ADDED
Intent и запускаю Log Collector с соответствующими параметрами (предупреждаю, что собираюсь это сделать). Это сделано для того, чтобы пользователь не угадал, что он должен щелкнуть «Открыть», чтобы запустить его без моего назначения, темы и фильтров.
Фильтры того стоят, так как они ограничивают отправляемое в электронном письме строки, которые могут иметь отношение к делу. Это экономит полосу пропускания пользователя и емкость моего почтового ящика, а также позволяет пользователю легче проверять, что в журнале нет ничего деликатного, и, следовательно, с большей вероятностью согласится на его отправку.