Android Eclipse не удается отладить - PullRequest
19 голосов
/ 04 апреля 2011

Отладка моего приложения теперь неожиданно прервана. Это было хорошо до сих пор, и я даже перезагрузил известную хорошую версию всего моего кода, и он все еще не может отладить или даже запустить. Когда я нажимаю «Отладка» или запускаю приложение, оно запускается и сразу же, когда оно собирается отобразить приложение, оно вылетает (даже до входа в главное окно). У меня есть точка останова в первой строке кода, и она даже не достигает ее. Он просто переходит к «Источник не найден» - исходное вложение не содержит источника для файла DexFile.class ..... Я на 100% уверен, что весь загруженный код работает, так как это сохраненная резервная копия, которая была сохранена при последней работе.

Кроме того, странным является то, что если я отключу кабель в этот момент, приложение загружается нормально и работает нормально. Так что это определенно проблема отладки. Это застревает где-то при загрузке. Я перезагружал свой компьютер и телефон несколько раз безрезультатно.

LogCat:
`04-04 11:17:33.462: DEBUG/AndroidRuntime(4148): CheckJNI is OFF
04-04 11:17:33.462: DEBUG/dalvikvm(4148): creating instr width table
04-04 11:17:33.502: DEBUG/AndroidRuntime(4148): --- registering native functions ---
04-04 11:17:33.712: DEBUG/AndroidRuntime(4148): Shutting down VM
04-04 11:17:33.712: DEBUG/dalvikvm(4148): Debugger has detached; object registry had 1 entries
04-04 11:17:33.712: INFO/AndroidRuntime(4148): NOTE: attach of thread 'Binder Thread #3' failed
04-04 11:17:33.902: DEBUG/AndroidRuntime(4157): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<
04-04 11:17:33.902: DEBUG/AndroidRuntime(4157): CheckJNI is OFF
04-04 11:17:33.902: DEBUG/dalvikvm(4157): creating instr width table
04-04 11:17:33.942: DEBUG/AndroidRuntime(4157): --- registering native functions ---
04-04 11:17:34.152: INFO/Process(107): Sending signal. PID: 4137 SIG: 9
04-04 11:17:34.152: INFO/ActivityManager(107): Force stopping package org.scanner uid=10110
04-04 11:17:34.162: ERROR/ActivityManager(107): fail to set top app changed!
04-04 11:17:34.182: INFO/UsageStats(107): Unexpected resume of com.htc.launcher while already resumed in org.scanner
04-04 11:17:34.192: INFO/ActivityManager(107): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=org.obdscanner/.activity.ObdReaderMainActivity }
04-04 11:17:34.202: DEBUG/AndroidRuntime(4157): Shutting down VM
04-04 11:17:34.202: DEBUG/dalvikvm(4157): Debugger has detached; object registry had 1 entries
04-04 11:17:34.212: INFO/AndroidRuntime(4157): NOTE: attach of thread 'Binder Thread #3' failed
04-04 11:17:34.222: WARN/InputManagerService(107): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@464105d8
04-04 11:17:34.242: INFO/ActivityManager(107): Start proc org.scanner for activity org.obdscanner/.activity.ReaderMainActivity: pid=4165 uid=10110 gids={3003, 3002}
04-04 11:17:34.332: WARN/ActivityThread(4165): Application org.scanner is waiting for the debugger on port 8100...
04-04 11:17:34.332: INFO/System.out(4165): Sending WAIT chunk
04-04 11:17:34.352: INFO/dalvikvm(4165): Debugger is active
04-04 11:17:34.472: DEBUG/Norton Community Watch/smrsd(3910): smrsd broadcast intent success!
04-04 11:17:34.512: ERROR/(3910): /data/data/com.symantec.monitor/app_log_item/1301930254.txt//data/data/com.symantec.monitor/app_log_item
04-04 11:17:34.542: INFO/System.out(4165): Debugger has connected
04-04 11:17:34.542: INFO/System.out(4165): waiting for debugger to settle...
04-04 11:17:34.632: INFO/global(3898): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.
04-04 11:17:34.742: INFO/System.out(4165): waiting for debugger to settle...
04-04 11:17:34.862: DEBUG/dalvikvm(3898): GC_FOR_MALLOC freed 4492 objects / 274560 bytes in 41ms
04-04 11:17:34.942: INFO/System.out(4165): waiting for debugger to settle...
04-04 11:17:35.142: INFO/System.out(4165): waiting for debugger to settle...
04-04 11:17:35.342: INFO/System.out(4165): waiting for debugger to settle...
04-04 11:17:35.552: INFO/System.out(4165): waiting for debugger to settle...
04-04 11:17:35.752: INFO/System.out(4165): waiting for debugger to settle...
04-04 11:17:35.952: INFO/System.out(4165): waiting for debugger to settle...
04-04 11:17:36.157: INFO/System.out(4165): debugger has settled (1451)
04-04 11:17:37.296: DEBUG/dalvikvm(4165): threadid=1: still suspended after undo (sc=1 dc=1 s=Y)

`

Ответы [ 8 ]

11 голосов
/ 23 октября 2012

Пожалуйста, смотрите правильный ответ ЗДЕСЬ

Вы установили точку останова в одном из классов. Просто снимите все точки останова в вашем проекте и запустите снова, с ними проблем не будет.

Eclipse-> Window-> Show View -> (Other-> Debug ->) Точки останова

8 голосов
/ 13 мая 2011

Время от времени Eclipse и различные плагины для Android становятся не синхронизированными.Я обычно пытаюсь сделать следующее, когда отладка / разработка становится «фанкой»

  1. Если ваш Logcat не отображает строки, очистите его.У него небольшой буфер.Также убедитесь, что ваше устройство выбрано в перспективе «DDMS».Если у вас выбран эмулятор, вы будете получать с него только логи.
  2. Очистите и перестройте все открытые проекты.Убедитесь, что ошибок нет.
  3. Удалите приложение с удаленного устройства / эмулятора.
  4. Перезапустите Eclipse!
  5. Откройте терминал на вашей платформе и используйте инструментadb в каталоге "platform-tools".

    adb kill-server
    adb start-server
    
  6. Сохраните вашу рабочую копию и восстановите исходный код при использовании репозитория.

4 голосов
/ 17 марта 2013

Странное решение ... Я просто закрыл проект из проводника пакетов, затем удалил его из рабочей области. Закрытое затмение. Заново открыл Eclipse и импортировал проект.

(Скопировано и вставлено из комментария Джесси.)

2 голосов
/ 06 января 2012

Я попробовал все вышеперечисленное, но оказалось, что он не работает из-за нескольких экземпляров файла eclipse.exe. Убить их всех в диспетчере задач (CTRL + SHIFT + ESC) это решило.

1 голос
/ 05 октября 2011

На вашем Android-устройстве (или эмуляторе) перейдите по адресу:

Applications - Settings - Applications - Manage applications - All

Там вы должны выбрать приложение и удалить его.

После этого попробуйте снова запустить приложение из IDE,Это должно работать сейчас.

0 голосов
/ 04 августа 2015

Это произошло из-за того, что мой код запутан.Я не заметил, что кто-то изменил proguard.cfg для производственной версии и прокомментировал строку "-dontobfuscate".

0 голосов
/ 09 июня 2014

Я знаю, что это немного поздно ... используйте это, если ответы @ Сэма или @ Киллеска не работают.

  1. обеспечить наборы манифестов android:debuggable.

  2. В onCreate добавьте вызов Debug.waitForDebugger .

Добавление вызова на waitForDebugger также работает при движении задним ходом. Например, вы можете вручную добавить следующее в onCreate и заставить smali / baksmali перекомпилировать его:

invoke-static {}, Landroid/os/Debug;->waitForDebugger()V

Мне не нужно часто использовать трюки, но когда я это делаю, waitForDebugger всегда работает. Я не помню времени, когда бы я не смог привязать к нему отладчик.

0 голосов
/ 22 мая 2014

Создайте новую конфигурацию отладки типа Remote Java Application и установите для нее значение localhost и порт, который вы видите в окне DDMS. https://stackoverflow.com/a/13421917/624109

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...