Форум программистов, компьютерный форум CyberForum.ru

Как обрабатывать ошибки, когда трассировка стека не имеет пакета приложения? - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Приложение с сервером http://www.cyberforum.ru/android-dev/thread1473925.html
у меня есть простеньекая авторизация, информация идет в бд, как сделать чтобы эта информация попадала ко мне если я использую не эмулятор а готовый апк файл, не понимаю как в приложение сделать соединение, как я понял нужен клиент-серверное взаимодействие
Программирование Android Отображение на Google Maps Добрый день! Возник вопрос по GMaps. Нужно сделать, чтобы при открытии карты, она сразу центрувалась по моему местонахождению. Только проблема в том, что я не использую никакие классы / методы для его определения, только включил setMyLocationEnabled (true), да и мне этого достаточно. Можно как-то центрировать в таком случае? И еще одно, как показать сразу при открытии карты какую-то область или... http://www.cyberforum.ru/android-dev/thread1473801.html
Программирование Android Объединение двух приложений
Здрасьте. Сделал таки по урокам два отдельных приложения для установки обоев: 1. Отображает картинки в GridView package com.mycompany.myapp; import java.io.File; import java.util.ArrayList; import java.util.Arrays;
Склеить два видеофайла из SD карты в один Программирование Android
Нужно склеить два видеофайла из sd карты в один. Оба одинаковых форматов, сняты на камеру. Слышал про FFMpeg но толком примеров не нашел. Кто работал с обработкой видео , пришлите пример кода. Заранее большое спасибо.
Программирование Android Google Maps API v2 добавление своих маркеров и фото к ним http://www.cyberforum.ru/android-dev/thread1473423.html
Собственно,как добавлять маркер по нажатию на карту вроде бы разобрался: map.setOnMapClickListener(new OnMapClickListener() { @Override public void onMapClick(LatLng latLng) { MarkerOptions markerOptions = new MarkerOptions(); markerOptions.position(latLng); map.addMarker(markerOptions); }
Программирование Android Не отображается иконка в ActionBar Ребят, такая проблема. Создал пустой проект. Воткнул в ресурсы файл иконки. В эскизном варианте он отображается, а при отладке что на эмуляторе что на телефоне - нет. В чем проблема? <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.official.admin.execute" > <application android:allowBackup="true" ... подробнее

Показать сообщение отдельно
GukZiLLA
35 / 35 / 2
Регистрация: 30.11.2013
Сообщений: 102
10.06.2015, 05:40  [ТС]     Как обрабатывать ошибки, когда трассировка стека не имеет пакета приложения?
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Хотя конечно существует вариант что это проблема не вашего приложения а реализации андроида на какой то конкретной китайской модели трубы.
В основном от китайцев и идут ошибки. От реальных китайцев с локалей zh_CN и изредка с других стран.

Вот например еще одна от pt_BR:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
java.lang.NullPointerException
at com.google.maps.api.android.lib6.d.ao.onClick(Unknown Source)
at android.view.View.performClick(View.java:4432)
at android.view.View$PerformClick.run(View.java:18339)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5283)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
at dalvik.system.NativeStart.main(Native Method)
Я канеш понимаю, что что-то с картами связано, но опять-таки пакета приложения нет в стеке.

Добавлено через 6 минут
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
т.е. как понимаю ваше приложение даже не получает управление, валится загрузчик ОС при запуске? Как вариант требования к ОЗУ или чему то еще выше чем есть в системе, ну и при попытке их распределения загрузчик вылетает, либо конфликт с правами доступа и т.д. Опять же не факт что в данной трубе корректно реализована поддержка всего функционала всех предыдущих версий.
Валится не при запуске приложения, а во время работы.
Если бы проблемы были с ОЗУ, то скорей всего получал бы outOfMemory?

Тут еще один момент, что мне надо как-то начальству объяснить, что это косяки прошивок))

---

Вот был случай с дешевым аппаратом lenovo A316i.
Гуглил долго, в итоге на каком-то форуме нашел, что возможно это косяк прошивки.
Написал письмо ленововцам, они ответили - спасибо, исправим.
Ну не знаю исправили они или просто так всем отвечают, но через неделю вышло обновление и уже багов таких не возникало.

---

Иногда удается понять что провоцирует ошибку в прошивке(?) и не провоцировать, но чаще всего не ясно что делать)

Добавлено через 10 минут
Fulcrum_013, наверняка станет интересно узнать как я такое перехватываю)

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
public class UnCaughtException implements UncaughtExceptionHandler {
    
    private Context ctx;
 
    public UnCaughtException(Context ctx) {
        this.ctx = ctx;
    }
 
    
    @Override
    public void uncaughtException(Thread t, Throwable e) {
        try {
            StringBuilder report = new StringBuilder();
            Date curDate = new Date();
            report.append("Error Report collected on : ").append(curDate.toString()).append('\n').append('\n');
            report.append("Informations :").append('\n');
            report.append('\n').append('\n');
            report.append("Stack:\n");
            final Writer result = new StringWriter();
            final PrintWriter printWriter = new PrintWriter(result);
            e.printStackTrace(printWriter);
            report.append(result.toString());
            printWriter.close();
            report.append('\n');
            report.append("**** End of current Report ***");
            Log.e(UnCaughtException.class.getName(), "Error while sendErrorMail" + report);
            sendError(ctx, report);
        } catch ( Throwable ignore ) {
            Log.e(UnCaughtException.class.getName(), "Error while sending error e-mail", ignore);
        }
    }
 
    ...
}
в методе sendError(ctx, report) происходит отправка ошибки на наш сервер.
В итоге всё перехваченное валится пачками и можно оперативно отслеживать работоспособность приложения.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru