2012-01-09 2 views
2

У меня есть затмение рабочее пространство с 3 подпроектовКак отлаживать Intent в подпроекта в затмении

  • myMp3TagBusineslogic (Lib, который может быть использован для андроид и J2SE)
  • myMp3TagActivity_ Плагин (Android деятельности, что использует myMp3TagBusineslogic и который может быть запущен MYFILES, OIFilemanager и других приложений: графический интерфейс для редактирования/просмотра mp3-теги)
  • myMp3Tag_ Test _Activity (некоторые андроида активности используется для тестирования myMp3TagActivityPlugin, просто выполняя Intent mp3Tagger = ... ; startActivity(mp3Tagger);

Причина такого макета: отдельный guiplugin из тестового кода.

my qestion: как можно отладить код myMp3TagActivityPlugin, выполнив myMp3TagTestActivity?

То, что я пытался до сих пор:

  • Установить точку останова в OnCreate из myMp3TagActivity_ плагин и начал отладку myMp3Tag_ Тест _Activity
    • эффект: отладчик не останавливается в myMp3TagActivity_ Plugin. Плагин выполнен правильно.
  • Добавить плагин и myMp3TagBusineslogic к buildpath из myMp3Tag_ Test _Activity
    • эффект: не может начать myMp3Tag_ Testактивность: myMp3TagActivityПлагин класс не найден.

Edit: Обновление и решение для тех, у кого такая же проблема:

  • в качестве комментария ниже заявляет buildpath, который включает плагин в тест не был завершен, и поэтому testactivity разбившийся , Правильное buildpath
    • добавить проекты плагин
    • добавить проекты Busines
    • заказ и экспорт проверить плагин (я забыл раньше)
    • порядок и экспорта проверить Busines (я забыл перед тем)
  • однако после удаления плагина.apk с устройства и отладки test.apk (который теперь действительно содержит плагин-код и комбинированный манифест), отладчик все еще не останавливается в плагине-коде.
  • после добавления Debug.waitForDebugger() в источник плагина и отладки test.apk, я наконец смог отладить исходный код плагина.
+0

Вы имеете в виду намерение, а не намерение, правильно? – zode64

+0

да я имел в виду намерение. исправленная опечатка в вопросе – k3b

+1

Ваша настоящая проблема здесь - вторая вещь, которую вы пробовали, это должна быть какая-то тривиальная причина, по которой она не может найти этот класс, и когда он будет работать отладки – zode64

ответ

2

Вы можете попробовать ниже метод, вполне может работать.

Добавить телефон Debug.waitfordebugger() в myMp3TagActivity_Plugin точка входа. Выполнить myMp3Tag_Test_Activity. Теперь активность покажет ожидание отладки для подключения.
Затем найдите порт процесса myMp3TagActivity_Plugin, обычно он начинается с 8600, как вы можете видеть ниже.

enter image description here

Затем правой кнопкой мыши myMp3TagActivity_Plugin проект, отладка, как -> Debug Configurations -> Двойной щелчок удаленный ява порт изменения приложение в свойствах соединения, чтобы соответствовать выше (8600) -> Debug.

+0

+1 особенно для «Debug.waitfordebugger()» трюк – k3b

2

Ваша настоящая проблема - это вторая вещь, которую вы пробовали.

Добавить плагин и myMp3TagBusineslogic к buildpath из myMp3Tag_Test_Activity эффекта: не может начать myMp3Tag_TestActivity: класс myMp3TagActivityPlugin не найден.

Должно быть какой-то тривиальной причиной, почему он не может найти этот класс, и когда он отлаживает работу.

+0

+1: это, конечно, не ответ на вопрос, а неотъемлемая часть окончательного решения. Я попросил @whatsthebeef дать ему ответ, чтобы я мог его продвинуть. – k3b

Смежные вопросы