- Не Удается Отладить Приложение В Android Studio
- 26 ответов
- Общая информация об отладке в Android Studio
- Точки останова (Breakpoints)
- Отслеживание потребления памяти
- Android Device Monitor
- Скриншоты и видео
- Использование отладчика Android Studio по максимуму
- Шаг 1 — Необходимо определить конфигурацию запуска
Не Удается Отладить Приложение В Android Studio
Я делаю приложение в Android Studio, теперь пытаюсь отладить его через adb. Когда я нажимаю на слово Android и логотип на нижней панели, logcat появляется и распознает мое устройство. Тогда я вижу это:
Что мне нужно сделать с моим приложением, чтобы сделать его «отладочным»?
FYI разрабатывал это приложение в Eclipse раньше, и adb работал нормально.
26 ответов
есть Debug значок на панели инструментов. Он выглядит как маленькая «ошибка» и находится прямо рядом с Run значок (который выглядит как кнопка воспроизведения). Попробуйте запустить приложение с этим.
Edit: следующее устарело при использовании Android Studio с Gradle.
Я решил эту проблему после выполнения следующих шагов:
перейти к Tools== > android== > отключить интеграцию ADB и включить его снова.
после этого отсоедините USB от устройства и снова подключите его.
наконец нажмите shift + F9
еще одна вещь, чтобы быть осторожным (я сделал это, чтобы я знал, дух). Не включайте Proguard для отладки!
У меня также случайно возникла эта проблема даже после отладки много раз в Android Studio. Однажды отладчик просто не подключался. Мне просто нужно было выйти из Android Studio и снова открыть его, и отладчик снова начал работать.
убедитесь, что вы включили интеграцию ADB.
в меню: Инструменты — > Android — > включить интеграцию ADB (В1.0)
это сработало для меня:
- Закрыть Android Studio.
открыть консоль и написать:
Если ваше приложение было отладочным, и вдруг оно больше не отладочное.Вот мое решение
- отключить и включить USB debug переключатель в телефоне.
- удалить приложение.
- нажмите кнопку Выполнить В Android Studio.
Это уже не работает! Нет необходимости использовать debuggable= «true» в манифесте.
вместо этого вы должны установить варианты сборки в «debug»
в Android Studio перейдите в построить -> Выберите Вариант Сборки
теперь попробуйте отладить. Спасибо
один случай, когда вы не можете отладить приложение в Android Studio, — это когда у вас выбран вариант сборки» release». Случилось со мной-Gradle строит версию выпуска приложения (которая не отлаживается), а затем Android Studio терпит неудачу при попытке подключить отладчик.
это иногда случается со мной, и я еще не понял, почему. Ни одно из уже опубликованных решений не сработало для меня. Единственное, что работает для меня-это:
- удалить приложение с устройства.
- Очистить Проект. «Построение -> Очистить Проект.»
- восстановить и установить.
значок»прикрепить отладчик к процессу Android» должен использоваться в случае, если вы установили пользовательский «android:процесс» в файле манифеста.
В моем случае я должен выбрать подходящий процесс и нажать кнопку OK сразу после появления диалогового окна «дождаться отладчика».
также убедитесь, что вы не используете другие приложения, которые также могут использовать ADB, например Eclipse.
проверьте, если вы app-project выбран в раскрывающемся меню рядом с кнопкой отладки. Иногда Android Studio, просто сбрасывает этот выбор.
Если вы включите
в приложении манифест.в XML убедитесь, что вы отключаете его при создании окончательного подписанного apk, так как это может служить отверстием петли безопасности для злоумышленников. Используйте его, только если только одно из ваших приложений не показывает журналы. Однако, прежде чем рассматривать этот вариант, попробуйте следующее:
перейдите к инструментам в Android studio
обязательно включите режим разработчика и отладку USB на устройстве или эмуляторе. (Легко забыть при настройке нового.)
У вас также должны быть инструменты- > Android — >включить интеграцию ADB active.
Я сделал чистую сборку, используя следующую команду.. Удивительно сработало.
надеюсь, кто-нибудь помогите!
это решило мою проблему. Удалите приложение с устройства и запустите его снова через Android studio.
Я проверил все способы, и не из них работал .
наконец, пришлось изменить порт adb, и это сработало. сначала убейте сервер adb, как показано ниже:
затем перезапустите его, используя другой порт
в моем случае рядом с любой линией появился красный круг с крестом и красной линией с сообщением: «исполняемый код не найден в строке . «как в Android studio gradle breakpoint исполняемый код не найден в строке.
проблема появилась после обновления build.gradle . Мы включили поддержку Kotlin, поэтому количество методов превысило 64K. Проблемные линии:
затем синхронизируйте gradle с помощью кнопки » синхронизировать проект с Gradle файлы». Если после перезапуска вашего приложения вы получите сообщение об ошибке: «ошибка: количество ссылок на метод в a .файл dex не может превышать 64K. Узнайте, как решить эту проблему вhttps://developer.android.com/tools/building/multidex.html», то, как в количество ссылок на метод в a .dex файл не может превышать 64K API 17 добавьте следующие строки в build.gradle :
обновление
по данным https://developer.android.com/studio/build/multidex.html сделайте следующее, чтобы включить поддержку multidex ниже Android 5.0. Иначе он не запустится в этих устройствах.
если нет набора классов приложений, напишите так:
в моем случае пришлось удалить proguard в типе сборки debug, полностью очистив текстовый файл proguard-rules.pro и что делает minifyEnabled false в build.файл gradle
вот немного oops, которые могут поймать некоторые: довольно легко случайно ввести фильтр для окна вывода logcat (текстовое поле с увеличительным стеклом) и забыть об этом. То, что потенциально отфильтрует весь вывод и сделает его похожим на ничто, есть.
в моем случае у меня была та же проблема, потому что я пытаюсь отладить подписанный apk. В моей конфигурации gradle я сделал разные варианты сборки и попытался отладить сборку выпуска с производственным хранилищем ключей.jks
для меня это произошло, когда я использовал Proguard, поэтому, попробовав все решения, я очистил свой проект и нажал кнопку отладки на Android Studio, и он начал отладку
этот код выше больше не является решением. Необходимо включить отладку внутри сборки.файл gradle. Если у вас разные типы сборки, убедитесь, что вы установили «debuggable true» в одном из типов сборки. Вот пример кода из одного из моих проектов.
* * Я удалил другие строки внутри buildTypes, которые не имеют отношения к этому вопросу из моего файла gradle здесь.
также убедитесь, что вы выбрали правильный вариант сборки в вашем android studio во время отладки.
у меня была такая же проблема и я попробовал почти все виды решений через Google. Но я не мог решить ее. Наконец, я нашел решение. Это ошибка Android Studio.
не нажимайте кнопку Run (Alt + F10) — просто нажмите кнопку Debug (Shift + F9) .
тогда Android Studio покажет вам предупреждающее сообщение с ADB, а затем просто нажмите «ОК».
вы можете увидеть вход в консоль logcat. И пакеты будут показаны на DDMS (устройствах).
Источник
Общая информация об отладке в Android Studio
Студия позволяет отлаживать приложения на эмуляторе и на реальных устройствах. Вы можете просматривать системный журнал логов, устанавливать точки останова, проверять значения переменных и вычислять выражения во время работы, делать скриншоты и видеозаписи.
Когда вы разрабатываете приложение, то студия собирает отладочную версию программы, соединяется с устройством/эмулятором, устанавливает и запускает её.
Обычно для запуска приложения вы используете значок с зелёным треугольником Run (Shift+F10) на панели инструментов. Для отладки следует нажимать соседнюю кнопку Debug (Shift+F9) с изображением жучка .
Остальные действия будут идентичными — вам надо выбрать устройство, на котором будет происходить отладка.
Android Studio откроет окно Debug. Можно открыть его вручную через кнопку 5: Debug в нижней части среды разработки. Окно показывает потоки и переменные в вкладке Debugger, статус устройства в вкладке Console и системные логи в вкладке Logcat.
Если приложение уже запущено, то необязательно его перезапускать для работы в отладочном режиме. Вы можете нажать на кнопку Attach debugger to Android proccess , которая идёт сразу после кнопку с жучком.
В вкладке Logcat вы видите системные сообщения, включая сообщения от вашей программы, если вы использовали их своём коде. Для записи логов используется класс Log. Подробнее о нём в отдельной статье.
Логи можно просматривать также через панель Android DDMS (Dalvik Debug Monitor Server) — запускается через кнопку 5: Android в нижней части студии. В Android DDMS вы можете просматривать логи только нужного процесса, если нажмёте на кнопку Only Show Logcat from Selected Process .
Точки останова (Breakpoints)
Точки останова позволяет приостановить выполнение программы на нужной строчке кода, проверить значение переменных, запустить выражение и продолжать выполнение кода строчка за строчкой. Позволяет выявить ошибки, которые не удаётся вычислить простым просмотром кода.
Откройте свой исходник, определите строку кода, в которой хотите поставить точку останова и щёлкните по ней. Строка окрасится в жёлтый цвет. Щёлкните в левой части редактора кода в серой области. В этом месте появится красный кружок (повторный щелчок уберёт его), а строка примет розовый цвет. Точку останова можно ставить не только для исполняемого оператора, но и на комментарии.
Запустите приложение в отладочном режиме. Когда выполнение программы дойдёт до установленной точки останова, то студия прекратит дальнейшее выполнение приложения, кружок станет ещё более красным и строка будет выделена. И затем вы можете попытаться выявить причину ошибки.
Для просмотра всех точек останова и их настроек щёлкните на кнопке View Breakpoints в левой части панели Debug . Появится отдельное диалоговое окно.
После того, как вы установили точки останова, щёлкните кнопку Rerun для повторного запуска программы. Когда выполнение кода дойдёт до установленной точки останова, студия выполнит паузу и подсветить строку кода. Панель Debug позволит проверить переменную и выполнить код шаг за шагом.
Для проверки переменных раскройте список в панели Variables. Если панель не видна, то щёлкните кнопку Restore Variables
Для вычисления выражения в текущей точки щёлкните кнопку Evaluate Expression
Для перехода на следующую строку кода без выполнения щёлкните кнопку Step Over .
Для перехода на первую строку кода внутри метода щёлкните кнопку Step Into .
Для перехода на следующую строку за пределами текущего метода щёлкните кнопку Step Out .
Чтобы продолжить работу приложения в нормальном режиме, нажмите кнопку Resume Program .
Отслеживание потребления памяти
Студия позволяет также отслеживать потребления памяти объектами и показывает, какие классы и потоки используют объекты.
Запустите студия в отладочном режиме, щёлкните 6: Android, чтобы открыть панель Android DDMS. Выберите вкладку Devices | logcat, выберите ваше устройство из выпадающего списка, выберите вашу программу по имени пакета из списка запущенных программ.
Щёлкните кнопку Start Allocation Tracking . Начинайте пользоваться программой.
Повторно нажмите на предыдущую кнопку Stop Allocation Tracking. Студия покажет объекты, выделенные системой для работы.
Android Device Monitor
Для анализа потребления памяти, сетевого трафика, поведения приложения при входящих звонках можно использовать графический инструмент Android Device Monitor. Щёлкните кнопку Monitor на панели инструментов. Android Device Monitor откроется в новом окне. Опытные программисты увидят знакомое окно, когда работали с Eclipse.
Скриншоты и видео
Вы можете делать скриншоты и видео работающего приложения.
Запустите приложение и откройте панель 6: Android. Щёлкните кнопку Screen Capture в левой части панели.
По такому же принципу можно сделать видеозапись через кнопку
Источник
Использование отладчика Android Studio по максимуму
Это хитрость, о которой я узнал совсем недавно у Senior Android разработчика в моей компании, и теперь я чувствую себя несчастным, сожалея о времени, которое я провел в ожидании сборки Gradle, чтобы проверить свои изменения при написании Android приложений.
Вот типичный сценарий, который каждый Android разработчик мог бы встретить, по крайней мере, один раз в течение своего жизненного цикла разработки. У вас есть список элементов, которые вы хотите показать в ListView или RecyclerView.
Ниже приведен наш возлюбленный метод onBindViewHolder , который связывает вашу модель с вашими view-компонентами RecyclerView.
Теперь, допустим, вы захотели изменить цвет текста для каждого третьего элемента в списке. Таким образом, код будет выглядеть примерно так:
Затем вы нажмёте Run и дождётесь завершения сборки и увидите ваши изменения, так?
Теперь вы бы подумали, существует ли другой путь для достижения этой же цели?
Твой выход, Android Studio! Да, нам не нужен внешний плагин или инструмент для достижения вышеупомянутой задачи и более того, нам даже не придется заново собирать проект. Вы не ослышались, мы обойдёмся без Gradle 🙂 Вот как!
Шаг 1 — Необходимо определить конфигурацию запуска
Такая конфигурация запуска позволит нам запускать наше приложение и присоединять к нему отладчик из Android Studio, а также вы сможете присоединить его к уже запущенному процессу.
Нажмите Run → Edit Configurations.
Edit Configurations» data-src=»https://habrastorage.org/getpro/habr/post_images/925/25e/e1a/92525ee1a0fa26e7cca96d237563c9fa.png»/>
В верхнем левом углу диалогового окна щелкните значок «+» и выберите Android App.
Теперь дайте ему имя, мне нравится называть его Run-Only, но вы можете называть его как угодно.
Выберите модуль, который содержит код вашего приложения, в приведенном ниже скриншоте он называется app.
Важный шаг:
В разделе Installation Options выберите Nothing;
В Launch Options выберите Default Activity;
В разделе Before Launch удалите Gradle-aware Make.
Таким образом, конфигурация должна выглядеть следующим образом:
Теперь вы можете применить и сохранить эту конфигурацию. Сейчас она должна быть выбрана автоматически. Если нет, то просто выберите её из списка.
Теперь поставьте breakpoint поближе к строке, которую вы хотите проверить. В нашем случае мы разместим ее там, где мы устанавливаем текст.
Щелкните правой кнопкой мыши на breakpoint и снимите флажок Suspend (рус. приостановить).
Как только вы снимете флажок, диалог расширится и покажет больше опций.
Нам интересен раздел Evaluate and log. Мы напишем там выражение, чтобы проверить изменения в нашем элементе RecyclerView. Нажмите на маленький значок голубого цвета справа от окна ввода Evaluate and log, чтобы развернуть его до более крупного редактора, и добавьте выражение для тестирования, и нажмите Ok, а затем Done.
Теперь нажмите на иконку Debug с выбранной конфигурацией Run-Only и посмотрите на эту магию.
Приложение должно запуститься с вашей Activity по умолчанию, и вы должны увидеть внесенные там изменения. Также, если вы уделяете пристальное внимание IDE, в самом низу вы увидите только одну запускаемую задачу: Launching Activity.
Хотелось бы услышать ваши впечатления, когда вы опробуете эту хитрость!
Источник