Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Anross
0 / 0 / 0
Регистрация: 11.10.2012
Сообщений: 39
1

Отладка на реальном устройстве

15.02.2015, 09:04. Просмотров 856. Ответов 11
Метки нет (Все метки)

Добрый день, возникла следующая проблема: на одном устройстве приложение запускается и работает как задумано. На другом сразу после запуска вылетает по ошибке. При этом второе устройство нельзя подключить к компьютеру по usb (дефект). Как можно узнать из-за чего не работает приложение?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2015, 09:04
Ответы с готовыми решениями:

Тестирование на реальном устройстве
Появилась такая проблема. То, что написано в ней - сделал - ошибка осталась. Возникает со всеми...

Debugging на реальном устройстве
на днях решил занятся Android Studio и появился вопрос: у меня телефон Cubot note s, Android 5.1,а...

Не отображается на реальном устройстве текст кнопок
Здравствуйте, меня беспокоит одна проблема, при тесте на реальном устройстве кнопки "MAKE A PHOTO"...

Не получается запустить приложение на реальном устройстве
Я новичок в разработке ПО под данную ось сразу отмечу... Вообщем учусь и пытаюсь разобраться что и...

Как добраться до файлов на реальном устройстве
Делаю проект в Эклипсе. Приложение запускаю на реальном устройстве. Как мне добраться до файлов...

11
DemD10
59 / 48 / 13
Регистрация: 03.09.2013
Сообщений: 468
15.02.2015, 09:27 2
Возможно версии ОС разные? А у тебя в твоём приложении минималка к примеру 4.2. А ты пытаешься запустить на 4.0, но при этом используешь методы 4.2)) Ну надеюсь ты понял
0
Anross
0 / 0 / 0
Регистрация: 11.10.2012
Сообщений: 39
15.02.2015, 10:40  [ТС] 3
Понял. Версии действительно разные. Но при создании проекта я выставлял минимальный нужный на втором устройстве. Или это не влияет?
0
DemD10
59 / 48 / 13
Регистрация: 03.09.2013
Сообщений: 468
15.02.2015, 12:04 4
Если ты через шнур отлаживаешь, то ошибку можно в студию? А все вижу (дефект), странно, не встречал. Так как мы узнаем в чем дело? Будем тыкать пальцем в небо?
0
Anross
0 / 0 / 0
Регистрация: 11.10.2012
Сообщений: 39
15.02.2015, 12:29  [ТС] 5
Дефект, в смысле дефект телефона. Не подключается он через usb Заливаю через интернет апк на него и пытаюсь запустить. Поэтому и не знаю как выяснить ошибку.
0
Nixy
ComfyMobile
400 / 281 / 34
Регистрация: 24.07.2012
Сообщений: 916
15.02.2015, 14:43 6
1) если есть root, то скачать apk с logcat и посмотреть логи. 2) Так какой min sdk стоит, и какой sdk на том устройстве, что не запускает,а какой на том, что запускает?
0
Anross
0 / 0 / 0
Регистрация: 11.10.2012
Сообщений: 39
15.02.2015, 14:47  [ТС] 7
1) А поподробнее можно, как сие сделать?
2) В манифесте стоит uses-sdk android:targetSdkVersion="14" android:minSdkVersion="14"
На устройстве стоит 4.0.4
0
Nixy
ComfyMobile
400 / 281 / 34
Регистрация: 24.07.2012
Сообщений: 916
15.02.2015, 15:09 8
google
возможно у Вас в приложении требуется интернет соединение, и там где краш его нету.
0
Anross
0 / 0 / 0
Регистрация: 11.10.2012
Сообщений: 39
15.02.2015, 15:50  [ТС] 9
Если правильно разобрался, то есть две ошибки с java:329 в моей процедуре, и java:257 в перегрузке метода onSensorChanged

Подскажите, где можно посмотреть значения ошибок? Сами процедуры:

Java
1
2
3
4
5
6
7
8
9
    @Override //change orientation
    public void onSensorChanged(SensorEvent event) {
        if (event.sensor.getType()==Sensor.TYPE_ACCELEROMETER) {};//определение сенсора
        //определение положения ориентации устройства
        double x  = new BigDecimal(event.values[0]).setScale(0, RoundingMode.UP).doubleValue();
        double y  = new BigDecimal(event.values[1]).setScale(0, RoundingMode.UP).doubleValue();
        //double z  = new BigDecimal(event.values[2]).setScale(0, RoundingMode.UP).doubleValue();
        if ((x<-5) | (Math.abs(y)>3)) setEmotion(indVertigo); else setEmotion(indWaiting);
    }
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
   private void setEmotion(int ind) {
        if (emAnim.isRunning()) return;
        switch (ind) {
            case indSleep:
                imageEMO.setBackgroundResource(R.anim.emsleep);
                emAnim = (AnimationDrawable)imageEMO.getBackground();
                if (sdSleepId != -1) soundPool.play(sdSleepId, 1, 1, 0, 0, 1);
                break;
            case indWaiting:
                imageEMO.setBackgroundResource(R.anim.emwaiting);
                emAnim = (AnimationDrawable)imageEMO.getBackground();
                if (sdWaitingId != -1) soundPool.play(sdWaitingId, 1, 1, 0, 0, 1);
                break;
            case indHappy:
                imageEMO.setBackgroundResource(R.anim.emhappy);
                emAnim = (AnimationDrawable)imageEMO.getBackground();
                if (sdHappyId != -1) soundPool.play(sdHappyId, 1, 1, 0, 0, 1);
                break;
            case indAngryEye:
                imageEMO.setBackgroundResource(R.anim.emangryeye);
                emAnim = (AnimationDrawable)imageEMO.getBackground();
                if (sdAngryEyeId != -1) soundPool.play(sdAngryEyeId, 1, 1, 0, 0, 1);
                break;
            case indAngryMouth:
                imageEMO.setBackgroundResource(R.anim.emangrymouth);
                emAnim = (AnimationDrawable)imageEMO.getBackground();
                break;
            case indVertigo:
                imageEMO.setBackgroundResource(R.anim.emvertigo);
                emAnim = (AnimationDrawable)imageEMO.getBackground();
                if (sdVertigoId != -1) soundPool.play(sdVertigoId, 1, 1, 0, 0, 1);
                break;
            case indRandom:
                Random rand = new Random();
                switch(rand.nextInt(2)) {
                    case 0:
                        imageEMO.setBackgroundResource(R.anim.emrandom1);
                        emAnim = (AnimationDrawable)imageEMO.getBackground();
                        if (sdRandom1Id != -1) soundPool.play(sdRandom1Id, 1, 1, 0, 0, 1);
                        break;
                    case 1:
                        imageEMO.setBackgroundResource(R.anim.emrandom2);
                        emAnim = (AnimationDrawable)imageEMO.getBackground();
                        if (sdRandom2Id != -1) soundPool.play(sdRandom2Id, 1, 1, 0, 0, 1);
                        break;
                    case 2:
                        imageEMO.setBackgroundResource(R.anim.emrandom3);
                        emAnim = (AnimationDrawable)imageEMO.getBackground();
                        if (sdRandom3Id != -1) soundPool.play(sdRandom3Id, 1, 1, 0, 0, 1);
                        break;
                }
                break;
            case indHello:
                imageEMO.setBackgroundResource(R.anim.emhello);
                emAnim = (AnimationDrawable)imageEMO.getBackground();
                if (sdHelloId != -1) soundPool.play(sdHelloId, 1, 1, 0, 0, 1);               
                break;
            case indGames:
                imageEMO.setBackgroundResource(R.anim.emgames);
                emAnim = (AnimationDrawable)imageEMO.getBackground();
                if (sdGamesId != -1) soundPool.play(sdGamesId, 1, 1, 0, 0, 1);               
                break;
        }
        if (emAnim!=null) emAnim.start();        
        if (ind!=indWaiting & ind!=indGames) {cdbase.cancel();cdbase.start();}
        if (ind==indGames) {cdgames.cancel();cdgames.start();};
    }
0
Nixy
ComfyMobile
400 / 281 / 34
Регистрация: 24.07.2012
Сообщений: 916
15.02.2015, 18:17 10
выложите лог сразу. Обычно программы просмотра лога дают возможность либо его сохранить в файл, либо копировать от туда
0
Anross
0 / 0 / 0
Регистрация: 11.10.2012
Сообщений: 39
15.02.2015, 21:09  [ТС] 11
Вот лог

02-15 22:05:01.855 335 345 I ActivityManager: START {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.anross.bmo/.MainActivity} from pid 556

02-15 22:05:01.924 335 526 I ActivityManager: Start proc com.anross.bmo for activity com.anross.bmo/.MainActivity: pid=25128 uid=10071 gids={}

02-15 22:05:02.642 335 387 I WindowManager: Gaining focus: Window{41ed2768 com.anross.bmo/com.anross.bmo.MainActivity paused=false}

02-15 22:05:02.712 25128 25128 E AndroidRuntime: at com.anross.bmo.MainActivity.setEmotion(MainActivity.java:329)

02-15 22:05:02.712 25128 25128 E AndroidRuntime: at com.anross.bmo.MainActivity.onSensorChanged(MainActivity.java:257)

02-15 22:05:02.745 335 7093 W ActivityManager: Force finishing activity com.anross.bmo/.MainActivity

02-15 22:05:02.845 335 387 I WindowManager: Losing focus: Window{41ed2768 com.anross.bmo/com.anross.bmo.MainActivity paused=true}

02-15 22:05:03.056 335 25156 E AEE/LIBAEE: read_cmdline:com.anross.bmo

02-15 22:05:03.544 335 350 W ActivityManager: Activity pause timeout for ActivityRecord{4205dec8 com.anross.bmo/.MainActivity}

02-15 22:05:03.660 335 387 I InputDispatcher: channel '41eafd78 Starting com.anross.bmo (server)' ~ abortBrokenDispatchCycle - notify=false

02-15 22:05:04.506 335 611 I ActivityManager: Process com.anross.bmo (pid 25128) has died.

02-15 22:05:04.507 335 633 I WindowManager: WIN DEATH: Window{41ed2768 com.anross.bmo/com.anross.bmo.MainActivity paused=false}

02-15 22:05:04.507 335 633 I InputDispatcher: channel '41ed2768 com.anross.bmo/com.anross.bmo.MainActivity (server)' ~ abortBrokenDispatchCycle - notify=false

02-15 22:05:13.655 335 350 W ActivityManager: Activity destroy timeout for ActivityRecord{4205dec8 com.anross.bmo/.MainActivity}
0
Nixy
ComfyMobile
400 / 281 / 34
Регистрация: 24.07.2012
Сообщений: 916
16.02.2015, 13:42 12
В Вашем логе не видно ошибки.
Вы пишите:
Цитата Сообщение от Anross Посмотреть сообщение
java:329 в моей процедуре, и java:257
откуда вы взяли эти числа. Вот тот код ошибки и нужен, с указанием причины.
+ Вы выложили код, но в нем нету столько строк, сделайте пометку на эти строки (329, 257).
0
16.02.2015, 13:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.02.2015, 13:42

Портится ли батарея при разработке на реальном устройстве?
Добрый жень. Хочу спросить тех людей, которые при разработке приложений под андроид часто...

Отладка приложения на устройстве
Все время приложения запускал на устройстве. Но сегодня он перестал запускаться на устройстве,...

Запрос разрешения на создание каталога и запись файла на реальном устройстве
public static String FileKeyNumb = FileKey.class.getSimpleName(); private static String...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru