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:
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.
android
debugging
adb
android-studio
Andy Roy D.
quelle
quelle
Antworten:
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.
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>
quelle
File
->Settings
-> konfigurieren.Keymap
Sie befinden sich unterMain menu
->Run
. Sehen Sie diese für weitere Informationen.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
quelle
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!
quelle
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.
quelle
<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.
Gehen Sie in Android Studio zu BUILD -> Build Variant auswählen
Versuchen Sie nun das Debuggen. Vielen Dank
quelle
Das hat bei mir funktioniert:
Öffnen Sie die Shell und schreiben Sie:
adb kill-server
adb start-server
quelle
adb reconnect
Befehl erledigen , aber in AS 3.1 funktioniert das nicht mehr (vielleicht mache ich etwas falsch oder nicht genug?Stellen Sie sicher, dass Sie die ADB-Integration aktiviert haben.
Im Menü: Extras -> Android -> ADB-Integration aktivieren (v1.0)
quelle
Wenn Ihre Anwendung früher debuggbar war und plötzlich nicht mehr debuggbar ist. Hier ist meine Lösung
USB debug
Schalter in Ihrem Telefon.quelle
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.
quelle
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:
quelle
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.
quelle
Ü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 ...
quelle
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
quelle
Stellen Sie außerdem sicher, dass Sie keine anderen Anwendungen verwenden, die möglicherweise auch ADB verwenden, wie z. B. Eclipse.
quelle
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
quelle
Ich habe mit dem folgenden Befehl sauber gebaut. Überraschenderweise funktioniert.
Hoffentlich bekommt jemand Hilfe!
quelle
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.
AndroidManifest
Tag öffnen und finden<application>
. In der Näheandroid:name=
befindet sich ein Verweis auf eine Anwendungsklasse. Öffne diese Klasse. Erweitern Sie die Anwendungsklasse mitMultiDexApplication
:public class MyApplication extends MultiDexApplication { ... }
Wenn keine Anwendungsklasse festgelegt ist, schreiben Sie Folgendes:
<application android:name="android.support.multidex.MultiDexApplication" > ... </application>
quelle
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.)
quelle
Sie sollten auch Tools-> Android-> ADB-Integration aktivieren aktiviert haben.
quelle
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:
quelle
Dies löste mein Problem. Deinstallieren Sie die App vom Gerät und führen Sie sie erneut über Android Studio aus.
quelle
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
quelle
In meinem Fall hat den proguard im Debug - Build - Typ zu entfernen , indem Sie vollständig die Textdatei Clearing
proguard-rules.pro
und machteminifyEnabled false
in build.gradle Dateidebug { debuggable true minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' }
quelle
<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.
quelle
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.
quelle
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!
quelle
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.
quelle
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
quelle
Was hat bei mir in Android Studio 3.2.1 funktioniert?
War:
RUN -> Attach debugger to Android Process --> com.my app
quelle
Starten Sie den ADB-Server von Android Studio aus neu: Extras -> " Fehlerbehebung bei der Geräteverbindung "
quelle