App in Android Studio kann nicht debuggt werden

81

Ich mache eine App in Android Studio und versuche jetzt, sie über adb zu debuggen. Wenn ich auf das Wort Android und das Logo in der unteren Leiste klicke, wird logcat angezeigt und erkennt mein Gerät. Dann sehe ich das:

Bildschirmfoto

Was muss ich mit meiner App tun, um sie "debuggbar" zu machen?

Zu Ihrer Information, diese App wurde bereits in Eclipse entwickelt und adb hat einwandfrei funktioniert.

Andy Roy D.
quelle
Haben Sie eine Lösung gefunden?
Paul
Das Deinstallieren der App vom Gerät und das erneute Ausführen von Android Studio löste mein Problem
Ahmad Behzadi
3
Ich hatte heute ein Problem, Haltepunkte können das Programm nicht stoppen. Und es lag an der Einstellung in build.gradle. Ich habe den Debug-Build-Typ mit minifyEnabled auf true gesetzt, dies entfernt und der Haltepunkt funktioniert.
Schloss Bai
Schauen Sie sich hier meine Antwort an . das könnte das Problem lösen
Muahmmad Tayyib

Antworten:

85

In der Symbolleiste befindet sich ein Debug- Symbol. Es sieht aus wie ein kleiner "Bug" und befindet sich direkt neben dem Run- Symbol (das wie eine Wiedergabetaste aussieht). Versuchen Sie damit die Anwendung zu starten.

Klicken Sie hier zum Debuggen

Bearbeiten: Folgendes ist veraltet, wenn Sie Android Studio mit Gradle verwenden.

Es gibt auch ein Debug-Flag in der Datei AndroidManifest.xml . Es befindet sich unter dem Anwendungs-Tag und sollte wie folgt auf "true" gesetzt werden:

<application android:debuggable="true">
</application>
free3dom
quelle
1
Können wir wie bei der Sonnenfinsternis jeweils eine Zeile nach der anderen ausführen? Wenn ja, wie geht das?
Ari R. Fikri
1
Sicher kannst du. Sobald Sie einen Haltepunkt erreicht haben, wird das Debug-Fenster angezeigt. Die Symbolleiste oben enthält die verschiedenen Schrittbefehle. Sie können die verschiedenen Debug-Tastaturkürzel auch unter File-> Settings-> konfigurieren. KeymapSie befinden sich unter Main menu-> Run. Sehen Sie diese für weitere Informationen.
free3dom
7
Die neueste Version von Android Studio schreibt nicht vor, dass Sie Android einstellen müssen: debuggbar, tatsächlich zeigt es ein Kringel, das vorschlägt, es in der Konfiguration und nicht im Manifest festzulegen. Dies hilft zu vermeiden, dass versehentlich eine App mit Debug-Informationen veröffentlicht wird.
Soundararajan
3
Nicht funktionieren 2015, build.gradle setzen buildTypes {debug {debuggable true
2
Es ist Arbeit für mich. Ich habe das in das Manifest <application android: debuggable = "true"> </ application> gestellt und das Debuggen perfekt durchgeführt. Vielen Dank
Andy Luis
111

Ich habe dieses Problem gelöst, nachdem ich die folgenden Schritte ausgeführt habe:

Gehen Sie zu Tools ==> android ==> Deaktivieren Sie die ADB-Integration und aktivieren Sie sie erneut.

Trennen Sie danach den USB-Anschluss vom Gerät und schließen Sie ihn erneut an.

Drücken Sie abschließend Shift + F9

Prathamesh Gujar
quelle
Das hat mir geholfen. Plötzlich funktionierte das Debug nicht mehr, nachdem es wieder funktionierte.
Rui Santos
Stil arbeitet ab heute, versucht neu zu starten und alles.
Mathijs Segers
1
Ich musste nur Android Studio für diese Projektinstanz schließen und erneut öffnen, damit der Fehler funktioniert: /
Rachael
18
Es gibt keinen solchen Menüpunkt namens "Tools ==> android" in Android Studio Version 3.1.3 und ich kann diese Option nirgendwo finden
James Watkins
1
Keine "adb"
-Optionen
34

Eine andere Sache, auf die man achten muss (ich habe das getan, damit ich weiß, duh). Stellen Sie sicher, dass Proguard nicht für das Debuggen aktiviert ist!

John Smith
quelle
6
danke und musste minifyEnabled false machen und shrinkResources false
Janardhan R
16

Ich hatte dieses Problem auch zufällig, nachdem ich viele Male in Android Studio debuggt hatte. Eines Tages würde der Debugger einfach nicht anhängen. Ich musste nur Android Studio beenden und es erneut öffnen und der Debugger begann wieder zu funktionieren.

Adam Johns
quelle
15
    <application android:debuggable="true">
</application>

Das funktioniert nicht mehr! Debuggable = "true" muss im Manifest nicht verwendet werden.

Stattdessen sollten Sie die Build-Varianten auf "debuggen" setzen.

Debug-Modus

Gehen Sie in Android Studio zu BUILD -> Build Variant auswählen

Versuchen Sie nun das Debuggen. Vielen Dank

itzo
quelle
Das Build-Menü enthält keine Option "Build-Variante auswählen".
Pete Alvin
14

Das hat bei mir funktioniert:

  1. Schließen Sie Android Studio.
  2. Öffnen Sie die Shell und schreiben Sie:

    adb kill-server

    adb start-server

limlim
quelle
Genau das, wonach ich gesucht habe. Früher konnte ich dies mit einem einfachen adb reconnectBefehl erledigen , aber in AS 3.1 funktioniert das nicht mehr (vielleicht mache ich etwas falsch oder nicht genug?
VictorB
Übrigens hat diese Lösung für mich funktioniert, ohne AS oder die Terminalsitzung zu schließen.
VictorB
11

Stellen Sie sicher, dass Sie die ADB-Integration aktiviert haben.

Im Menü: Extras -> Android -> ADB-Integration aktivieren (v1.0)

myfknoll
quelle
11

Wenn Ihre Anwendung früher debuggbar war und plötzlich nicht mehr debuggbar ist. Hier ist meine Lösung

  1. Deaktivieren und aktivieren Sie den USB debugSchalter in Ihrem Telefon.
  2. Deinstallieren Sie Ihre Anwendung.
  3. Klicken Sie auf In Android Studio ausführen.
Miao1007
quelle
8

Ein Fall, in dem Sie eine Anwendung in Android Studio nicht debuggen können, ist, wenn Sie die Build-Variante "Release" ausgewählt haben. Ist mir passiert - Gradle erstellt eine Release-Version der App (die nicht debuggbar ist), und dann versucht Android Studio nicht, den Debugger zu verbinden.

Harri
quelle
1
Dies hat mich einige Male gestolpert, selbst in anderen IDEs. Ich glaube, dass die Möglichkeit zum Debuggen von Releases in den meisten IDEs konfigurierbar ist und manchmal empfohlen wird, wenn Sie den Debugger an freigegebene Apps anhängen möchten.
visc
7

Das passiert mir gelegentlich und ich muss noch herausfinden warum. Keine der bereits veröffentlichten Lösungen hat für mich funktioniert. Das einzige, was für mich funktioniert, ist:

  1. Deinstallieren Sie die Anwendung vom Gerät.
  2. Projekt reinigen. "Erstellen -> Projekt bereinigen."
  3. Neu erstellen und installieren.
KyleT
quelle
7

Das Symbol "Debugger an Android-Prozess anhängen" sollte verwendet werden, wenn Sie in Ihrer Manifest-Datei ein benutzerdefiniertes "android: process" festlegen.
In meinem Fall sollte ich einen geeigneten Prozess auswählen und auf OK klicken, sobald das Dialogfeld "Auf Debugger warten" angezeigt wird.
Geben Sie hier die Bildbeschreibung ein

user1700099
quelle
schreckliche Problemumgehung, aber das einzige, was gerade für mich funktioniert, DANKE !!!
Jules
Arbeitete für mich, obwohl ich kein benutzerdefiniertes "android: process" in meiner Manifest-Datei hatte.
Jason Bowers
Das war die Lösung für mich. Danke
gmartinsnull
4

Überprüfen Sie, ob Ihr App-Projekt im Dropdown-Menü neben der Debug-Schaltfläche ausgewählt ist. Manchmal setzt Android Studio diese Auswahl einfach zurück ...

Geben Sie hier die Bildbeschreibung ein

Longi
quelle
4

Wenn Sie aktivieren

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

Stellen Sie in der Anwendung manifest.xml sicher, dass Sie sie deaktivieren, wenn Sie die endgültig signierte apk generieren, da dies als Sicherheitslücke für Angreifer dienen kann. Verwenden Sie es nur, wenn nur eine Ihrer Anwendungen die Protokolle nicht anzeigt. Bevor Sie diese Option in Betracht ziehen, versuchen Sie Folgendes:

Navigieren Sie zu Tools im Android Studio

 Tools==>android==>disable adb integration and again enable it
Santa Teclado
quelle
3

Stellen Sie außerdem sicher, dass Sie keine anderen Anwendungen verwenden, die möglicherweise auch ADB verwenden, wie z. B. Eclipse.

Pedro Oliveira
quelle
3

Ich habe alle Möglichkeiten getestet und keine davon hat funktioniert !!!

musste endlich den adb port wechseln und es hat funktioniert. töte zuerst den adb server wie unten:

adb kill-server

Starten Sie es dann über einen anderen Port neu

adb -P 5038 start-server
Amir Ziarati
quelle
3

Ich habe mit dem folgenden Befehl sauber gebaut. Überraschenderweise funktioniert.

sh gradlew sauber bauen

Hoffentlich bekommt jemand Hilfe!

Shaiban
quelle
1
In welcher Konsole müssen wir es starten?
DmitryBoyko
Führen Sie diesen Befehl im Android Studio Terminal aus oder navigieren Sie von einem externen Terminal zu Ihrem Projekt
Haider Ali
3

In meinem Fall erschien in der Nähe einer Zeile ein roter Kreis mit einem Kreuz und einer roten Linie mit der Meldung: "Kein ausführbarer Code in Zeile gefunden ..." wie in Android Studio Gradle Breakpoint. Kein ausführbarer Code in Zeile gefunden .

Nach dem Update von ist ein Problem aufgetreten build.gradle. Wir haben die Kotlin-Unterstützung eingeschlossen, sodass eine Reihe von Methoden 64 KB überschritten hat. Problemlinien:

buildTypes {
    debug {
        minifyEnabled true

Ändern Sie sie in:

buildTypes {
    debug {
        minifyEnabled false
        debuggable true

Synchronisieren Sie dann einen Gradle mit der Schaltfläche "Projekt mit Gradle-Dateien synchronisieren". Wenn nach dem Neustart Ihrer Anwendung eine Fehlermeldung angezeigt wird: "Fehler: Die Anzahl der Methodenreferenzen in einer .dex-Datei darf 64 KB nicht überschreiten. Weitere Informationen zum Beheben dieses Problems finden Sie unter https://developer.android.com/tools/building/. multidex.html ", wie in Die Anzahl der Methodenreferenzen in einer .dex-Datei darf 64k API 17 nicht überschreiten. Fügen Sie die folgenden Zeilen hinzu build.gradle:

android {

    defaultConfig {
        ...

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

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

AKTUALISIEREN

Laut https://developer.android.com/studio/build/multidex.html gehen Sie wie folgt vor, um die Multidex-Unterstützung unter Android 5.0 zu aktivieren. Andernfalls wird es in diesen Geräten nicht gestartet.

AndroidManifestTag öffnen und finden <application>. In der Nähe android:name=befindet sich ein Verweis auf eine Anwendungsklasse. Öffne diese Klasse. Erweitern Sie die Anwendungsklasse mit MultiDexApplication:

public class MyApplication extends MultiDexApplication { ... }

Wenn keine Anwendungsklasse festgelegt ist, schreiben Sie Folgendes:

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

Stellen Sie sicher, dass der Entwicklermodus und das USB-Debugging auf dem Gerät oder Emulator aktiviert sind. (Leicht zu vergessen beim Einrichten eines neuen.)

Ken Root
quelle
2

Sie sollten auch Tools-> Android-> ADB-Integration aktivieren aktiviert haben.

NSK
quelle
2

Ich konnte das Problem beheben, indem ich zu Ausführen -> Konfigurationen bearbeiten ging, mein Projekt auswählte, die Registerkarte Debugger auswählte und dann den Debug-Typ von "Auto" in "Dual" änderte:Geben Sie hier die Bildbeschreibung ein

Bajrang Hudda
quelle
1

Dies löste mein Problem. Deinstallieren Sie die App vom Gerät und führen Sie sie erneut über Android Studio aus.

Ahmad Behzadi
quelle
1

Für mich passierte es, als ich Proguard verwendete. Durch das Ausprobieren aller Lösungen bereinigte ich mein Projekt und drückte die Debug-Taste in Android Studio, und das Debuggen begann

Naveed Ahmad
quelle
1
Ich war mit diesem Problem in Android Studio 4.1 konfrontiert und Ihre Lösung hat mir geholfen. Danke
Buckstabue
1

In meinem Fall hat den proguard im Debug - Build - Typ zu entfernen , indem Sie vollständig die Textdatei Clearing proguard-rules.pround machte minifyEnabled falsein build.gradle Datei

  debug {
            debuggable true
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
Sachin K.
quelle
1
<application android:debuggable="true">
</application>

Dieser obige Code ist keine Lösung mehr. Sie müssen das Debuggen in Ihrer build.gradle-Datei aktivieren. Wenn Sie unterschiedliche buildTypes haben, stellen Sie sicher, dass Sie in einem der Buildtypen "debuggable true" festlegen. Hier ist ein Beispielcode aus einem meiner Projekte.

buildTypes {
    debug {
        debuggable true
    }

    release {
        debuggable false
    }
}

** Ich habe andere Zeilen in den buildTypes, die für diese Frage nicht relevant sind, aus meiner Gradle-Datei hier gelöscht.

Stellen Sie außerdem sicher, dass Sie beim Debuggen die richtige Build-Variante in Ihrem Android-Studio auswählen.

Geben Sie hier die Bildbeschreibung ein

Prakash
quelle
1

Im Laufe der Jahre habe ich diesen Thread oft besucht und es gab immer eine andere Antwort, die mir geholfen hat. Diesmal stelle ich fest, dass mein USB-Hub den Debugger daran gehindert hat, ordnungsgemäß zu funktionieren. So seltsam es auch klingen mag, anstatt ein Telefon über einen USB-Hub an meinen Computer anzuschließen, musste ich es direkt an meinen Mac anschließen, und das Debuggen begann zu funktionieren.

Vanomart
quelle
1

In meinem Fall habe ich minifyEnabled = true und shrinkResources = true in meinem Debug-BuildType vergessen. Ich ändere diese Werte auf false, es hat wieder funktioniert!

Geben Sie hier die Bildbeschreibung ein

Mete
quelle
0

Hier sind ein paar Hoppla, die einige auffangen können: Es ist ziemlich einfach, versehentlich einen Filter für das Logcat-Ausgabefenster (das Textfeld mit der Lupe) einzugeben und ihn zu vergessen. Das, was möglicherweise alle Ausgaben herausfiltert und es so aussehen lässt, als wäre nichts da.

Rick Giuly
quelle
0

In meinem Fall hatte ich das gleiche Problem, weil ich versuche, signierte apk zu debuggen. In meiner Gradle-Konfiguration habe ich verschiedene Build-Varianten erstellt und versucht, den Release-Build mit der Produktion keystore.jks zu debuggen

WorieN
quelle
0

Was hat bei mir in Android Studio 3.2.1 funktioniert?

War:

RUN -> Attach debugger to Android Process --> com.my app

Kevin Amiranoff
quelle
0

Starten Sie den ADB-Server von Android Studio aus neu: Extras -> " Fehlerbehebung bei der Geräteverbindung "

Webdma
quelle