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:
Que dois-je faire à mon application pour la rendre "débogable"?
FYI développait cette application dans Eclipse avant et adb a bien fonctionné.
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.
É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>
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
Une autre chose à faire attention (je l'ai fait pour que je sache, duh). Veillez à ne pas activer Proguard pour le débogage!
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.
Assurez-vous d'avoir activé l'intégration ADB.
Dans Menu: Outils -> Android -> Activer l’intégration ADB (V1.0)
Cela a fonctionné pour moi:
Ouvrez le shell et écrivez:
adb kill-server
adb start-server
<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"
Dans Android Studio, accédez à BUILD -> Sélectionnez une variante de construction.
Maintenant, essayez de déboguer. Merci
Si votre application était jadis débogable, et du coup ce n'est plus le cas. Voici ma solution
USB debug
sur votre téléphone.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.
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 .
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:
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
Assurez-vous également que vous n'utilisez pas d'autres applications susceptibles d'utiliser ADB, comme Eclipse, par exemple.
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.)
Vous devez également activer Outils-> Android-> Activer l'intégration ADB.
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!
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
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'
}
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>
Cela a résolu mon problème . Désinstallez l’application de l’appareil et exécutez-la à nouveau via Android Studio.
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
<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.
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.
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é.
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à.
Ce qui a fonctionné pour moi dans Android Studio 3.2.1
Était:
RUN -> Attach debugger to Android Process --> com.my app