Не вдається налагодити програму в Android Studio


81

Я роблю додаток в Android Studio, зараз намагаюся налагодити його за допомогою adb. Коли я натискаю слово Android та логотип на нижній панелі, з’являється logcat і розпізнає мій пристрій. Тоді я бачу це:

скріншот

Що мені потрібно зробити зі своїм додатком, щоб його можна було налагодити?

FYI розробляв цю програму в Eclipse раніше, і adb працював нормально.


Ви знайшли рішення?
Пол

Видалення програми з пристрою та її
повторне

3
У мене була проблема сьогодні, точки зупинку не можуть зупинити програму. І це було через встановлення в build.gradle. Я встановив налагоджувальний тип побудови з minifyEnabled true, видаліть це і точка зупинки спрацювала.
замок бай

подивіться на мою відповідь тут . що може вирішити проблему
Муаммад Тайїб

Відповіді:


85

На панелі інструментів є значок налагодження . Це схоже на маленьку "помилку" і знаходиться безпосередньо біля піктограми " Виконати" (яка схожа на кнопку відтворення). Спробуйте запустити програму з цим.

Клацніть тут для налагодження

Редагувати: Наведені нижче дані застаріли під час використання Android Studio із Gradle.

У файлі AndroidManifest.xml також є прапорець налагодження . Він знаходиться під тегом програми і повинен бути встановлений у "true", як показано нижче:

<application android:debuggable="true">
</application>

1
Чи можемо ми крокувати по одному рядку, як у затемненні? якщо можна, як це зробити?
Ari R. Fikri

1
Звичайно, ви можете. Як тільки ви потрапите на точку зупинки, відобразиться вікно налагодження, панель інструментів у верхній частині містить різні крокові команди. Ви також можете налаштувати різні комбінації клавіш для налагодження з File-> Settings-> Keymap- вони знаходяться під Main menu-> Run. Дивіться це для отримання додаткової інформації.
free3dom

7
Остання версія андроїд-студії не зобов'язує вас встановлювати андроїд: налагоджувальний, фактично він показує хитавицю, яка пропонує встановлювати його в конфігурації, а не в маніфесті. Це допомагає уникнути випадкової публікації програми з інформацією про налагодження.
Soundararajan

3
Не працює 2015, build.gradle ставить buildTypes {debug {debuggable true

2
це робота для мого. Я помістив у маніфест <application android: debuggable = "true"> </application> і налагоджував ідеально. Дякую
Andy Luis

111

Я вирішив цю проблему, виконавши такі дії:

Перейдіть до Інструменти ==> android ==> Вимкніть інтеграцію ADB і ввімкніть її знову.

Після цього від'єднайте USB від пристрою та підключіть знову.

Нарешті натисніть Shift + F9


Це мені допомогло. Раптом налагодження перестало працювати, після цього знову запрацювало.
Rui Santos

Stil працює сьогодні, спробував перезапустити і все.
Mathijs Segers

1
Мені просто потрібно було закрити та знову відкрити андроїд-студію для цього екземпляру проекту, щоб змусити працювати: /
Рейчел

18
У Android Studio версії 3.1.3 немає такого пункту меню, який називається «Інструменти ==> android», і я не можу знайти цей параметр ніде
Джеймс Уоткінс,

1
У меню для Android Studio 4 немає опцій "adb"
spartygw,

34

Інша справа, з якою слід бути обережним (я зробив це, щоб я знав, ду). Не вмикайте Proguard для налагодження!


6
дякую і довелося зробити minifyEnabled false і shrinkResources false
Janardhan R

16

У мене також випадково виникала ця проблема навіть після багаторазової налагодження в Android Studio. Одного разу налагоджувач просто не приєднався. Мені просто довелося вийти з Android Studio і відкрити його знову, і налагоджувач знову запрацював.


16
    <application android:debuggable="true">
</application>

Це вже не працює! Не потрібно використовувати маніфест debuggable = "true".

Натомість слід встановити для варіантів збірки значення "налагодження"

Режим налагодження

В Android Studio перейдіть до BUILD -> Select Variant Variant

Тепер спробуйте налагодити. Дякую


У меню "Збірка" немає опції "Вибрати варіант збірки".
Піт Елвін,

14

Це спрацювало для мене:

  1. Закрийте Android Studio.
  2. Відкрийте оболонку і напишіть:

    adb kill-server

    adb start-server


Саме те, що я шукав. Раніше я міг зробити це за допомогою простої adb reconnectкоманди, але це більше не робить цього в AS 3.1 (можливо, я роблю щось не так, або недостатньо?
VictorB

До речі, це рішення працювало для мене, не закриваючи AS або термінальну сесію.
VictorB

11

Переконайтеся, що ви ввімкнули інтеграцію ADB.

У меню: Інструменти -> Android -> Увімкнути інтеграцію ADB (v1.0)


11

Якщо раніше ваш додаток можна було налагодити, і раптом він більше не буде налагодженим, ось моє рішення

  1. відключити та увімкнути USB debug перемикач у телефоні.
  2. Видаліть свою програму.
  3. натисніть Запустити в Android Studio.

8

Один із випадків, коли у вас неможливо налагодити програму в Android Studio - це вибраний варіант збірки "звільнення". Що сталося зі мною - Gradle створює випускну версію програми (яка не підлягає налагодженню), а потім Android Studio не вдається підключити налагоджувач.


1
Це мене спотикало кілька разів, навіть в інших середовищах розробки. Я вважаю, що можливість налагоджувати випуск можна конфігурувати в більшості середовищ розробки, і іноді радять, якщо ви хочете приєднати налагоджувач до випущених програм.
visc

7

Це іноді трапляється зі мною, і я ще не з'ясував, чому. Жодне з уже розміщених рішень для мене не спрацювало. Єдине, що мені підходить, це:

  1. Видаліть програму з пристрою.
  2. Чистий проект. "Збірка -> Чистий проект."
  3. Відновіть та встановіть.

7

Значок "Приєднати налагоджувач до процесу Android" слід використовувати у випадку, якщо ви встановите спеціальний "android: process" у своєму файлі маніфесту.
У моєму випадку я повинен вибрати відповідний процес і натиснути кнопку ОК відразу після того, як з'явиться діалогове вікно "Чекати на налагоджувач".
введіть тут опис зображення


жахливий обхідний шлях, але єдине, що працює зараз у мене, ДЯКУЄМО !!!
Жуль

Працював у мене, хоча в моєму файлі маніфесту у мене не було власного "android: process".
Джейсон Бауерс,

це було рішення для мене. Дякую
gmartinsnull

4

Перевірте, чи вибрано ваш проект-проект у спадному меню поруч із кнопкою налагодження. Іноді Android Studio просто скидає цей вибір ...

введіть тут опис зображення


4

Якщо увімкнути

<application android:debuggable="true">
</application>

У додатку manifest.xml обов’язково вимкніть його під час створення остаточного підписаного apk, оскільки це може служити отвором для циклу безпеки для зловмисників. Використовуйте його лише в тому випадку, якщо лише одна з ваших програм не відображає журнали. Однак перед розглядом цього варіанту спробуйте наступне:

Перейдіть до інструментів в андроїд-студії

 Tools==>android==>disable adb integration and again enable it

3

Також переконайтеся, що ви не використовуєте інші програми, які також можуть використовувати ADB, наприклад Eclipse.


3

Я перевірив усі способи, і жоден з них не працював !!!

нарешті довелося змінити порт adb, і це спрацювало. спочатку вбийте сервер adb, як показано нижче:

adb kill-server

потім перезапустіть його, використовуючи інший порт

adb -P 5038 start-server

3

Я зробив чисту збірку, використовуючи команду нижче.

sh gradlew чиста побудова

Сподіваємось, хтось отримає допомогу!


1
На якій консолі ми повинні його запустити?
DmitryBoyko

Запустіть цю команду в терміналі андроїд-студії або перейдіть до свого проекту із зовнішнього терміналу
Хайдер Алі,

3

У моєму випадку біля будь-якого рядка з'явилося червоне коло з перехресним і червоним рядком із повідомленням: "У рядку не знайдено виконуваного коду ...", як у точці зупинки gradle Android studio .

Проблема з'явилася після оновлення build.gradle. Ми включили підтримку Kotlin, тому кількість методів перевищила 64K. Проблемні рядки:

buildTypes {
    debug {
        minifyEnabled true

Змініть їх на:

buildTypes {
    debug {
        minifyEnabled false
        debuggable true

Потім синхронізуйте gradle кнопкою «Синхронізувати проект з файлами Gradle». Якщо після перезапуску програми ви отримаєте повідомлення про помилку: "Помилка: кількість посилань на методи у файлі .dex не може перевищувати 64 КБ. Дізнайтеся, як вирішити цю проблему на https://developer.android.com/tools/building/ multidex.html ", тоді, як і в Кількість посилань на методи у файлі .dex не може перевищувати 64k API 17, додайте наступні рядки до build.gradle:

android {

    defaultConfig {
        ...

        // Enabling multidex support.
        multiDexEnabled true
    }
    ...
}

dependencies {
    implementation 'com.android.support:multidex:1.0.2'
}

ОНОВЛЕННЯ

Згідно з https://developer.android.com/studio/build/multidex.html, виконайте наступні дії, щоб увімкнути підтримку мультидексів нижче Android 5.0. Інакше він не запускатиметься на цих пристроях.

Відкрийте AndroidManifestта знайдіть тег <application>. Поруч android:name=- посилання на клас Application. Відкрийте цей клас. Розширте клас Application MultiDexApplicationтаким чином:

public class MyApplication extends MultiDexApplication { ... }

Якщо класу програми не встановлено, напишіть так:

<application
        android:name="android.support.multidex.MultiDexApplication" >
    ...
</application>

2

Обов’язково увімкніть режим розробника та налагодження USB на пристрої чи емуляторі. (Легко забути під час налаштування нового.)


2

Ви також повинні мати активний Інструменти-> Android-> Увімкнути інтеграцію ADB.


2

Я зміг це виправити, перейшовши в Запуск -> Редагувати конфігурації, вибравши мій проект, вибравши вкладку Налагоджувач, а потім змінивши тип налагодження з "Авто" на "Подвійний"введіть тут опис зображення


1

Це вирішило мою проблему. Видаліть програму з пристрою та запустіть її знову за допомогою Android studio.


1

Для мене це сталося, коли я використовував Proguard, тому, спробувавши всі рішення, я очистив свій проект і натиснув кнопку налагодження в Android Studio, і він почав налагоджувати


1
Я зіткнувся з цією проблемою в android studio 4.1, і ваше рішення мені допомогло. Дякую
Buckstabue

1

У моєму випадку довелося видалити proguard у налагоджуваному типі збірки, повністю очистивши текстовий файл proguard-rules.proта зробивши minifyEnabled falseу файлі build.gradle

  debug {
            debuggable true
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }

1
<application android:debuggable="true">
</application>

Цей код вище вже не є рішенням. Вам потрібно увімкнути налагодження у вашому файлі build.gradle. Якщо у вас різні типи збірки, переконайтеся, що ви встановили "налагоджується true" в одному із типів збірки. Ось зразок коду одного з моїх проектів.

buildTypes {
    debug {
        debuggable true
    }

    release {
        debuggable false
    }
}

** Я видалив інші рядки всередині buildTypes, які не стосуються цього питання, з мого файлу gradle тут.

Також переконайтеся, що ви вибрали правильний варіант збірки у своїй студії Android під час налагодження.

введіть тут опис зображення


1

Протягом багатьох років я відвідував цю тему багато разів, і завжди була інша реакція, яка мені допомагала. Цього разу я з’ясував, що саме мій концентратор USB заважав налагоджувачу працювати належним чином. Як би дивно це не звучало, але замість того, щоб телефон підключався до мого комп’ютера через USB-концентратор, мені довелося підключити його безпосередньо до мого Mac і налагодження почало працювати.


1

У моєму випадку я забув minifyEnabled = true та shrinkResources = true у своєму налагоджувальному buildType. Я змінюю ці значення на false, це знову працює!

введіть тут опис зображення


0

Ось трохи ой, що може зачепити: Доволі легко випадково ввести фільтр для вікна виводу logcat (текстове поле зі збільшувальним склом) і забути про нього. Те, що потенційно відфільтрує весь вихідний результат і зробить так, що нічого там немає.


0

У моєму випадку у мене була та сама проблема, тому що я намагаюся налагодити підписаний apk. У моїй конфігурації gradle я зробив різні варіанти збірки та спробував налагодити збірку випуску за допомогою виробничого keystore.jks



0

Перезапустіть сервер adb з android studio: Інструменти -> " Виправлення неполадок підключення пристрою "

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.