web-dev-qa-db-fra.com

Impossible de déboguer une application dans Android Studio

Je crée une application dans Android Studio, j'essaie maintenant de la déboguer via adb. Lorsque je clique sur le mot Android et sur le logo de la barre inférieure, logcat s’affiche et reconnaît mon appareil. Puis je vois ceci: 

screenshot

Que dois-je faire à mon application pour la rendre "débogable"?

FYI développait cette application dans Eclipse avant et adb a bien fonctionné.

67
Andy Roy D.

Il y a une icône Debug dans la barre d’outils. Il ressemble à un petit "bug" et est situé juste à côté de l'icône Run (qui ressemble à un bouton de lecture). Essayez de lancer l'application avec ça.

 Click here to debug

Éditer: Ce qui suit est obsolète avec Android Studio avec Gradle. 

Il existe également un indicateur de débogage dans le fichier AndroidManifest.xml . Il se trouve sous la balise d'application et doit être défini sur "true", comme suit:

<application Android:debuggable="true">
</application>
76
free3dom

J'ai résolu ce problème après avoir suivi les étapes suivantes:

Allez dans Outils ==> Android ==> Désactivez l'intégration ADB et activez-la à nouveau.

Après cela, débranchez l’USB du périphérique et rebranchez-le. 

Enfin, appuyez sur Maj + F9

108
Prathamesh Gujar

Une autre chose à faire attention (je l'ai fait pour que je sache, duh). Veillez à ne pas activer Proguard pour le débogage!

26
John Smith

J'ai aussi eu ce problème au hasard, même après avoir débogué plusieurs fois dans Android Studio. Un jour, le débogueur ne voulait tout simplement pas s’attacher. Je devais simplement quitter Android Studio et le rouvrir, et le débogueur a recommencé à fonctionner.

14
Adam Johns

Assurez-vous d'avoir activé l'intégration ADB.

Dans Menu: Outils -> Android -> Activer l’intégration ADB (V1.0)

11
myfknoll

Cela a fonctionné pour moi:

  1. Fermez Android Studio.
  2. Ouvrez le shell et écrivez:

    adb kill-server

    adb start-server

10
limlim
    <application Android:debuggable="true">
</application>

Cela ne fonctionne plus! Pas besoin d'utiliser debuggable = "true" dans le manifeste. 

Au lieu de cela, vous devez définir les variantes de construction sur "debug"

 Debug Mode

Dans Android Studio, accédez à BUILD -> Sélectionnez une variante de construction.

Maintenant, essayez de déboguer. Merci

10
itzo

Si votre application était jadis débogable, et du coup ce n'est plus le cas. Voici ma solution

  1. désactiver et activer le commutateur USB debug sur votre téléphone.
  2. Désinstallez votre application.
  3. cliquez sur Exécuter dans Android Studio.
8
Miao1007

Dans certains cas, vous ne pouvez pas déboguer une application dans Android Studio lorsque la variante de version "release" est sélectionnée. Ce qui m'est arrivé - Gradle crée une version finale de l'application (non débogable), puis Android Studio ne parvient pas à essayer de connecter le débogueur.

7
Harri

L'icône "Attacher le débogueur au processus Android" doit être utilisée dans le cas où vous définissez un "processus Android" personnalisé dans votre fichier manifeste. 
Dans mon cas, je devrais choisir un processus approprié et cliquer sur le bouton OK juste après que la boîte de dialogue "Attendre le débogueur" s'affiche .
 enter image description here

7
user1700099

Cela m'arrive parfois et je n'ai pas encore compris pourquoi. Aucune des solutions déjà publiées n'a fonctionné pour moi. La seule chose qui fonctionne pour moi est de:

  1. Désinstallez l'application du périphérique.
  2. Projet propre. "Construire -> Nettoyer le projet."
  3. Reconstruire et installer.
6
KyleT

Vérifiez si votre projet est sélectionné dans le menu déroulant à côté du bouton de débogage. Parfois, Android Studio réinitialise simplement cette sélection ...

 enter image description here

4
longilong

Si vous activez  

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

Dans l'application manifest.xml, assurez-vous de la désactiver lors de la génération de l'apk signé final, car cela peut servir de trou de boucle de sécurité pour les attaquants. Ne l’utilisez que si une seule de vos applications n’affiche pas les journaux. Cependant, avant d’envisager cette option, essayez ceci:

Naviguez vers les outils du studio Android  

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

Assurez-vous également que vous n'utilisez pas d'autres applications susceptibles d'utiliser ADB, comme Eclipse, par exemple.

3
Pedro Oliveira

Assurez-vous d'activer le mode développeur et le débogage USB sur le périphérique ou l'émulateur. (Facile à oublier lors de la création d'un nouveau.)

2
Ken Root

Vous devez également activer Outils-> Android-> Activer l'intégration ADB.

2
NSK

J'ai fait la construction propre en utilisant la commande ci-dessous.

sh gradlew construction propre

Espérons que quelqu'un obtienne de l'aide!

2
shaiban

J'ai testé tous les moyens et aucun d'entre eux n'a fonctionné !!!

a finalement dû changer le port adb et cela a fonctionné. d'abord tuer le serveur adb comme ci-dessous:

adb kill-server

puis redémarrez-le en utilisant un autre port

adb -P 5038 start-server
1
Amir Ziarati

Dans mon cas, j'ai dû supprimer la proguard dans Debug Build Type en effaçant complètement le fichier texte proguard-rules.pro et en créant minifyEnabled false dans le fichier build.gradle

  debug {
            debuggable true
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
1
Sachin K

Dans mon cas près de n'importe quelle ligne, un cercle rouge est apparu avec une croix et une ligne rouge avec un message: "Aucun code exécutable trouvé à la ligne ...", comme dans Point d'arrêt du studio Android Aucun code exécutable trouvé à la ligne .

Un problème est apparu après la mise à jour de build.gradle. Nous avons inclus la prise en charge de Kotlin, de sorte qu'un nombre de méthodes dépassait 64 Ko. Lignes de problème:

buildTypes {
    debug {
        minifyEnabled true

Changez les en:

buildTypes {
    debug {
        minifyEnabled false
        debuggable true

Synchronisez ensuite un dégradé avec un bouton "Synchroniser le projet avec les fichiers Gradle". Si, après le redémarrage de votre application, vous obtiendrez une erreur: "Erreur: le nombre de références de méthodes dans un fichier .dex ne peut pas dépasser 64 Ko. Découvrez comment résoudre ce problème à l'adresse https://developer.Android.com/tools/. building/multidex.html ", comme dans Le nombre de références de méthodes dans un fichier .dex ne peut pas dépasser 64k API 17 ajouter les lignes suivantes à build.gradle:

Android {

    defaultConfig {
        ...

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

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

METTRE &AGRAVE; JOUR

Selon https://developer.Android.com/studio/build/multidex.html procédez comme suit pour activer le support multidex sous Android 5.0. Sinon, il ne commencera pas dans ces appareils.

Ouvrez AndroidManifest et recherchez la balise <application>. Near Android:name= est une référence à une classe d'application. Ouvrez cette classe. Étendre la classe d’application avec MultiDexApplication ainsi:

public class MyApplication extends MultiDexApplication { ... }

Si aucune classe d'application n'est définie, écrivez ainsi:

<application
        Android:name="Android.support.multidex.MultiDexApplication" >
    ...
</application>
1
CoolMind

Cela a résolu mon problème . Désinstallez l’application de l’appareil et exécutez-la à nouveau via Android Studio.

1
Ahmad Behzadi

Dans mon cas, j'ai eu le même problème parce que j'essaie de déboguer un apk signé. Dans ma configuration, j'ai fait différentes variantes de construction et j'ai essayé de déboguer la version avec la production keystore.jks

0
WorieN
<application Android:debuggable="true">
</application>

Ce code ci-dessus n'est plus une solution. Vous devez activer le débogage dans votre fichier build.gradle. Si vous avez différents types de construction, assurez-vous de définir "debuggable true" dans l'un des types de construction. Voici un exemple de code d'un de mes projets.

buildTypes {
    debug {
        debuggable true
    }

    release {
        debuggable false
    }
}

** J'ai supprimé d'autres lignes à l'intérieur des buildTypes qui ne concernent pas cette question de mon fichier gradle ici.

Assurez-vous également de sélectionner la variante de construction appropriée dans votre studio Android lors du débogage.

 enter image description here

0
Prakash

Au fil des ans, j'ai visité ce fil de nombreuses fois et il y avait toujours une réponse différente qui m'aidait. Cette fois, je me suis rendu compte que c’était mon concentrateur USB qui empêchait le débogueur de fonctionner correctement. Aussi étrange que cela puisse paraître, au lieu d'avoir un téléphone connecté à mon ordinateur via un hub USB, je devais le connecter directement à mon Mac et le débogage commençait à fonctionner.

0
vanomart

Pour moi, c'est arrivé quand j'ai utilisé Proguard, alors en essayant toutes les solutions, j'ai nettoyé mon projet et appuyé sur le bouton de débogage sous Android Studio et le débogage a commencé.

0
Naveed Ahmad

Voici un petit oops qui pourrait en attirer: Il est assez facile de faire accidentellement saisir un filtre dans la fenêtre de sortie de logcat (la zone de texte avec la loupe) et de l’oublier. Celui qui filtrera potentiellement toutes les sorties et donnera l’impression que rien n’est là.

0
Rick Giuly

Ce qui a fonctionné pour moi dans Android Studio 3.2.1

Était:

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

0
Kevin Amiranoff