У меня есть приложение с открытым исходным кодом на рынке Android.Кажется, он работает нормально для меня (с более чем 1000 активных установок, я должен предположить, что это работает для большинства людей).
Недавно я получил отчет об ошибке , который указал на проблему приминимум три пользователя на телефонах Samsung (перехват и захват).Мне не удалось воспроизвести проблему на моем ADP2 и на эмуляторе.
Чтобы получить достаточно данных для диагностики проблемы, я сначала попытался добавить протоколирование, а затем попросил пользователей отправлять журналы через * 1007.* Log Collector .Каждый раз, когда пользователь пытался отправить журнал (было четыре попытки), он усекался, и я не получал никаких полезных данных.
Затем я добавил ACRA в проект в попыткечтобы получить информацию, но я не могу автоматически обнаружить ошибку, чтобы отправить отчет.
Поскольку у меня нет телефона Samsung, и я не могу воспроизвести его ни на чем, гдеЯ мог бы связаться с отладчиком, у меня в основном нет идей.Единственная идея, которую я оставил, - это добавить кнопку в пользовательский интерфейс для создания отчета.
Есть ли какие-либо другие подходы, которые можно предложить?
Обновление : поскольку людитребуя дополнительных подробностей: по сути, приложение считывает текстовые файлы из ресурсов и помещает их (с некоторой предварительной обработкой) в TextView в ScrollView.(Данные постепенно добавляются в SpannableStringBuffer, а затем передаются в функцию setText () TextView.) В зависимости от выбранных параметров отображаемый текст находится в диапазоне от 15 до 115 тыс.На телефонах с этой проблемой отображается только часть текста.Точка отсечения зависит от параметров, но, кажется, находится где-то между 17k-18k.
ACRA отправляет отчет обо всех неперехваченных исключениях и помещает их в форму / таблицу Google.Я получил отчеты от моего эмулятора и от моего телефона, так что я знаю, что конец работает.(На самом деле, я часто обнаруживал, что отладка по трассировке стека в этом отчете быстрее, чем присоединение отладчика к процессу.)
Характеристики телефона: я применил приложение на эмуляторах под управлением 1.5, 1.6,2.1 и 2.2.У меня телефон ADP2 (версия для разработчиков MyTouch), но я установил стороннее ПЗУ , чтобы перейти на Froyo (2.2).Я не знаю об эмуляторе специально для сборки ОС Samsung, хотя это было бы весьма полезно здесь.
Поскольку ожидаемая длина текста постоянна, я должен быть в состоянии обнаружить, если оначитать правильно или нет.Я добавил проверки в конце моей обработки текста, но они никогда не запускались, указывая, что проблема не в чтении файла.Затем я попытался добавить проверки в onPostCreate и onPostResume, но они также не потерпели неудачу.Похоже, что поток пользовательского интерфейса в тот момент еще не работал.
Я сделал 6 приватных версий APK, прикрепленных к ошибке в трекере ошибок.Я, честно говоря, удивлен, что все пользователи все еще пытаются их.В этой последней версии есть кнопка, чтобы вызвать отчет об ошибке - он будет вызван только после того, как поток пользовательского интерфейса выложит экран.Надеюсь, это даст мне достаточно переменной информации, чтобы указать мне правильное направление.