Не удается подключить отладчик Android Studio к процессу Android
Я не могу подключить отладчик Android Studio к процессу отлаживаемого приложения. У кого-нибудь еще была эта проблема? В основном я не могу перечислить мое приложение в Choose Process
Диалог.
Я выбираю Attach debugger to Android process
:
А потом, вот как Process selection
Диалог из Android Studio выглядит так:
Любые идеи, почему мое приложение не отображается в Choose Process
список?
Хотя, DDMS
видит мое приложение в Devices | logcat
список:
Устройства | список logcat code">
Android Monitor
также видит приложение в Devices
список:
Я пробовал эти действия:
- Перезапуск
MacBook
- Перезапуск устройств: пробовал с
Samsung Galaxy Note II N7100
(4.3) иSamsung Galaxy S4
(4.4.2) - повторное включение
Settings->Developer Options
на устройствах - повторное включение
Settings->Developer Options->USB debugging
на устройствах - Перезапуск
adb
запустивadb kill-server
а такжеadb start-server
- Повторное подключение устройства из MacBook и / или подключение к другому USB-порту
- Запуск виртуального устройства Genymotion на MacBook
restarting in TCP mode port: 5555
запустивadb tcpip 5555
а затем подключиться к нему сadb connect 192.168.1.87
Waiting more
&Restart
когда получил эту ошибку говоряADB not responding. You can wait more, or kill "adb" process manually and click 'Restart'
Errors in ADB:
ddms: '$ANDROID_HOME/platform-tools/adb,start-server' failed -- run manually if necessary
Скриншот ошибки
Обновить:
Я заметил, что устройство появляется несколько раз в Android DDMS
-> Devices | logcat
список. Если я выберу 1-е устройство из списка, оно показывает, что есть No debuggable applications
, но я выбираю последнее устройство (4-е на скриншоте), я вижу свое отлаживаемое приложение. Смотрите скриншоты: 1-й и 4-й. Несмотря на то, что в списке есть только 1 устройство, показывающее отлаживаемое устройство и приложение, процесс все равно не отображается в Choose Process
Диалог.
13 ответов
Итак, наконец-то, я заработал:
Checking 'Show all processes' checkbox!
НО, как вы видите в вопросе, флажок был в начале, поэтому было несколько проблем.
Подводя итог, необходимо выполнить следующие действия:
- Убить всех
adb
процессы (использованиеps -x | grep adb
а такжеkill -9 [process id]
) adb start-server
в терминале- Переподключить устройство
adb devices
(чтобы убедиться, что устройство успешно подключено)- Удостовериться
Android DDMS
Devices | logcat
показывает ваше приложение и только одно устройство в списке. - Проверьте
Show all processes
флажок. Посмотреть скриншот
Я решил так
а. Закрытая студия Android
б. Сделал adb kill-server
из терминала. Также проверьте, что процесс adb также убит из окна Запуск процессов на ПК.
с. Запущена студия Android
д. Android Studio снова попыталась инициализировать adb и вернулась к работе.
Я решил это, перейдя в терминал и выполнив:
adb kill-server
adb start-server
Затем я нажал на кнопку "присоединить отладчик" и смог использовать ее как обычно
В прошлый раз у меня была похожая проблема, может быть, это потому, что вариант сборки 'release' (который вы можете установить в разделе Варианты сборки) был выбран по ошибке, только вариант отладки является отлаживаемым, надеюсь, это может быть полезно для некоторых друзей
Это то, что сработало для меня, и это просто, перейдите в Инструменты->Android-> Включить интеграцию с ADB, щелкните по нему и отметьте его как выбранный, если не выбран, это позволит вашему экземпляру genymotion подключиться к ADB, но если это не сработает, тогда, если Вышеупомянутая настройка выбрана, затем отметьте невыбранную и подождите, пока ADB обновится (несколько секунд), затем снова перейдите к той же настройке и нажмите на нее, чтобы отметить выбранную, это перезапустит ADB и подключит его. Это прекрасно работает для меня каждый раз, когда я вижу эту проблему.
Я только что столкнулся с этим. Я вырывал свои волосы и делал все, что было размещено здесь. Я думал, что мог бы добавить сюда решения, если бы все попробовали все. Я решаю это путем создания отладочного варианта сборки.
Поэтому я сделал PR, и он был объединен, к сожалению, мой флаг отладки на моем собственном варианте сборки был отключен, когда я вернул исходный код, поэтому мне просто нужно включить его снова:
в вашем файле build.gradle:
android {
...
buildTypes {
...
my_build_type {
minifyEnabled false
shrinkResources false
debuggable true // was false before
}
}
}
Также убедитесь, что этот вариант сборки был установлен до того, как вы соберете приложение на устройство:
То же самое случилось со мной, основной причиной этой проблемы было прерывание (отключение сети или принудительное закрытие) при обновлении любого из плагинов (в моем случае kotlin)РешениеДля Mac: настройки Goto (shortkey: cmd + ,)
Для окон:(короткая клавиша: ** Ctrl + Alt + S) или через меню
затем в левой панели найдите Languages and Frameworks -> kotlin/java updaes и выберите его. В правой панели будет опция (кнопка) для обновления плагина. обновить плагин.
Выйдите и перезапустите андроид студию. Теперь вы сможете отлаживать все доступные запущенные процессы.
- Закройте Android Studio.
- Убить adb с терминала adb kill-server. Откройте студию Android, затем подключите отладчик. Вы сможете увидеть свой проект.
Вам не нужно закрывать андроид-студию, так как я видел много советов, вы можете использовать терминал отсюда. Таким образом: 1 Зайдите в терминал в Android Studio; 2 Сделал adb kill-server чтобы убить процесс; 3 Работал ли здесь adb start-server 4. Проверьте, подключены ли устройства с устройствами adb
Теперь это должно работать!
В моем случае я просто отключаю и подключаю кабель от телефона. Процесс был указан, и я смог присоединить отладчик
В дополнение ко всем ответам ранее, если вы добавите точки останова, которые оценивают и регистрируют, возможно, один из них вызовет исключение Null Pointer. Так что иди запустить -> viewBreakpoints... -> отменить выбор всех из них.
это сработало для меня: сначала найдите, есть ли у вашего apk возможность отладки или версия выпуска (которую вы не можете отлаживать) и т. д.
Основные различия - это флаг отладки и ключи подписи:
Для отладочных сборок apk будет подписан ключами подписи отладки по умолчанию с включенным флагом отладки.
Для ключей выпуска вам нужно будет явно указать ключи для подписи, и флаг отладки будет отключен, чтобы его нельзя было отладить.
Proguard можно включить для релизных сборок. (также для отладочных сборок, но не рекомендуется). Этот шаг должен быть выполнен явно и по умолчанию является ложным.
Отладка выпуска Тип сборки без создания Подписана APKhttps://stackoverflow.com/Questions/7085644/how-to-check-if-apk-is-signed-or-debug-buildhttps://stackoverflow.com/questions / 38864358 / difference-between-debug-and-release-apks#:~:text=Major%20differences%20are%20the%20debug, что% 20it%20 не может отладить% 20be%20 .
Возможно, это не решение, но в конце концов я просто переключился на использование устройства-эмулятора (Nexus 5) вместо физического устройства.
Я пробовал все, что было сказано выше, в том числе:
- команды adb
- обновление студии Android, перезагрузка и т. д.
- варианты сборки
- подключите и отключите кабель.