Привет хабродроидеры!
Если ваше приложение падает в production и вам нужно быстро понять почему, на каком девайсе, с какой прошивкой и конфигурацией, то этот маленький топик расскажет об одном способе решения данной проблемы.
Под катом описание возможностей ACRA.

Стандартное сообщение о падении приложения мало чем помогает(банальный стектрейс), никакой полезной информации об устройстве или его конфигурации, но к нам на помощь приходит ACRA — code.google.com/p/acra

Данная библиотека помогает сделать отчеты о падениях приложения информативным и более удобным способом.
Доступны следующие способы из коробки:
1. Запись отчета о падении в ваш Google Docs документ(способ по-умолчанию)
2. Отправка отчета на почту
3. Отправка данных на сервер, где его может обработать ваш скрипт произвольным образом
Также можно довольно просто написать свой ReportSender реализовав метод send данного интерфейса.
Присутствует несколько режимов уведомлений о репорте:

COMO SOLUCIONAR CRASH REPORT EN MINECRAFT WINDOWS 2017


1. Silent(по-умолчанию) — пишется отчет в ваш гугл-документ не сообщая об этом пользователю и вызывается стандартный диалог падения
2. Toast — появляется toast-уведомление с вашем сообщением
3. Notification — появится сообщение в статус-баре и далее диалог в котором можно ввести комментарий(опционально).
Отмечу, что в отчет отправляется довольно много параметров, но их можно выбирать задавая в аннотации параметр customReportContent.
Установка

Скачиваем zip-архив по ссылке выше. Далее, кидаем jar библиотеки в папку проекта libs, добавляете ссылку в Build Path в Eclipse и либа готова к использованию.

Пример работы

После ознакомления со всеми способами отправки отчета я остановился на первом(отправка в Google Docs).
Далее расскажу как это чудо заставить работать(также, это описано в wiki проекта).
Прежде всего нам понадобится экземпляр класса Application для которого мы добавим аннотацию и пару строк кода, вот так:

Читайте также:  Что такое сборщик в Майнкрафте


И необходимо добавить описание имени объекта Application в ваш манифест:

В аннотации мы указываем ключ формы(как и где его получить опишу ниже) и параметры фильтрации вывода LogCat. в отчет В параметре фильтра мы ограничиваем количество записей лога в 50 штук и подсказываем библиотеке включить наш кастомный тег в отчет(честно говоря работает этот фильтр странновато, но все нужные теги добавляет).
Кстати не забудьте добавить разрешение на чтение логов в манифест:

Далее, в методе onCreate мы инициализируем библиотеку и говорим ей проверить ранние отчеты при запуске приложения. Это удобная опция позволяет подгрузить отчеты к вам в документ, которые были зафиксированы ранее, но не были отправлены(к примеру, не было интернета на девайсе).

Подготовка Google Docs

У вас наверняка есть аккаунт гугла. Входим в Google Docs и жмем кнопочку «Загрузить»(Load) и выбираем в архиве ACRA в папке doc файл CrashReports-Template.csv. После загрузки можем переименовать док, не суть важно. Заходим в документ в меню Tools выбираем Form->Create Form. Откроется новое окошко, в котором нужно убрать галочку «Require sign-in to view this form».

Minecraft for You — E08 — Как работать с crash-reports

Внизу этого окна в ссылке будет нужный вам ключ — formKey, сохраните его. Жмете кнопку «save» вверху этого окна и ваш документ готов к получению баг репортов. Вставляете сохраненный ключ в код и все готово!

В wiki библиотеки доступно много дополнительных примеров.
code.google.com/p/acra/wiki/AdvancedUsage

Кроме того, здесь можно почитать обсуждение рассмотренного вопроса и посмотреть альтернативные способы обработки падения:
stackoverflow.com/questions/601503/how-do-i-obtain-crash-data-from-my-android-application

Добавлю, что посланные отчеты мгновенно появляются в форме вашего документа.
Все вопросы и замечания по топику, как обычно, в личку.

Читайте также:  Команда чтобы убрать голод в Майнкрафте

Источник: habr.com

Нужна помощь с расшифровкой краш-репорта в Майнкрафт

Установил кучу модов, естественно, вылет. Почитал краш-репорт, устранил все ошибки, кроме одной, кто мне её расшифрует и скажет, что делать?

> [15:52:55] [main/ERROR]: An error occurred trying to configure the minecraft home at C:UsersАлексейAppDataRoaming.minecraft for Forge Mod Loader
> java.lang.NoClassDefFoundError: net/minecraftforge/fml/relauncher/IFMLLoadingPlugin
> at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.8.0_144]
> at java.lang.ClassLoader.defineClass(ClassLoader.java:763) ~[?:1.8.0_144]
> at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[?:1.8.0_144]
> at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) ~[?:1.8.0_144]
> at java.net.URLClassLoader.access$100(URLClassLoader.java:73) ~[?:1.8.0_144]
> at java.net.URLClassLoader$1.run(URLClassLoader.java:368) ~[?:1.8.0_144]
> at java.net.URLClassLoader$1.run(URLClassLoader.java:362) ~[?:1.8.0_144]
> at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_144]
> at java.net.URLClassLoader.findClass(URLClassLoader.java:361) ~[?:1.8.0_144]
> at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:117) ~[launchwrapper-1.11.jar:?]
> at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_144]
> at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_144]
> at java.lang.Class.forName0(Native Method) ~[?:1.8.0_144]
> at java.lang.Class.forName(Class.java:348) ~[?:1.8.0_144]
> at cpw.mods.fml.relauncher.CoreModManager.loadCoreMod(CoreModManager.java:460) ~[forge-1.7.10-10.13.4.1614-1.7.10.jar:?]
> at cpw.mods.fml.relauncher.CoreModManager.discoverCoreMods(CoreModManager.java:389) ~[forge-1.7.10-10.13.4.1614-1.7.10.jar:?]
> at cpw.mods.fml.relauncher.CoreModManager.handleLaunch(CoreModManager.java:221) ~[forge-1.7.10-10.13.4.1614-1.7.10.jar:?]
> at cpw.mods.fml.relauncher.FMLLaunchHandler.setupHome(FMLLaunchHandler.java:90) [forge-1.7.10-10.13.4.1614-1.7.10.jar:?]
> at cpw.mods.fml.relauncher.FMLLaunchHandler.setupClient(FMLLaunchHandler.java:67) [forge-1.7.10-10.13.4.1614-1.7.10.jar:?]
> at cpw.mods.fml.relauncher.FMLLaunchHandler.configureForClientLaunch(FMLLaunchHandler.java:34) [forge-1.7.10-10.13.4.1614-1.7.10.jar:?]
> at cpw.mods.fml.common.launcher.FMLTweaker.injectIntoClassLoader(FMLTweaker.java:126) [forge-1.7.10-10.13.4.1614-1.7.10.jar:?]
> at net.minecraft.launchwrapper.Launch.launch(Launch.java:115) [launchwrapper-1.11.jar:?]
> at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.11.jar:?]

Источник: minecraftru.net

краш репорты в minecraft

A detailed walkthrough of the error, its code path and all known details is as follows:

— Screen render details —

Screen name: net.minecraft.client.gui.inventory.GuiInventory

Mouse location: Scaled: (228, 124). Absolute: (683, 373)

Screen size: Scaled: (456, 249). Absolute: (1366, 746). Scale factor of 3

Level name: MpServer

All players: 2 total; [EntityClientPlayerMP[‘Zenarraus’/212017, l=’MpServer’, x=291,50, y=69,79, z=651,64], EntityOtherPlayerMP[‘ajacobs0289’/157545, l=’MpServer’, x=290,31, y=63,00, z=667,31]]

Chunk stats: MultiplayerChunkCache: 441

Level generator: ID 04 — BIOMESOP, ver 0. Features enabled: false

Level generator options:

Level spawn location: World: (208,64,252), Chunk: (at 0,4,12 in 13,15; contains blocks 208,0,240 to 223,255,255), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)

Читайте также:  Когда будет Майнкрафт 1 17 на телефон

Level time: 1106315 game time, 1106315 day time

Level dimension: 0

Level storage version: 0x00000 — Unknown?

Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)

Level game mode: Game mode: survival (ID 0). Hardcore: false. Cheats: false

Источник: mmo-db.com