Impossible d'ouvrir le port de débogage: java.net.SocketException " Socket closed"

J'utilise Android Studio, avec plusieurs saveurs en utilisant Gradle, chacun avec un type de débogage et de publication, organisé comme décrit ici, sur la moitié inférieure .Quand j'essaie de démarrer le débogueur, j'obtiens cette erreur:

Error running androidRecover [installAppDebug]: Unable to open debugger port :     java.net.SocketException "Socket closed

je suis aussi incapable d'attacher le débogueur mon appareil une fois qu'il est en cours d'exécution (il n'affiche que le nom de mon téléphone, pas l'application).

tous les 3 parfums installent sur mon téléphone très bien. Je ne peux pas le faire pour permettez-moi de les déboguer. J'ai également testé la fixation du débogueur sur une tablette Nexus, et j'ai obtenu le même résultat.

ce N'est pas Gradle spécifiquement comme un tout parce que je peux exécuter d'autres applications Gradle-basées et attacher le débogueur juste très bien alors je me demande si c'est quelque chose avec la façon dont j'ai mis en place mon projet Gradle et les paramètres.

voici ma version.gradle:

apply plugin: 'android'
apply from: 'signing.gradle'

android {
    compileSdkVersion 19
    buildToolsVersion '19.0.3'

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 19
    }

    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile
                     ('proguard-android.txt'), 'proguard-rules.txt'
        }
    }

    productFlavors {
        flav1 {
            packageName "com.ex.flav1"
            versionCode 32
            versionName "1.0.5"
            signingConfig signingConfigs.flav1
        }

        flav2 {
            packageName "com.ex.flav2"
            versionCode 33
            versionName "1.0.6"
            signingConfig signingConfigs.flav2
        }

        flav3 {
            packageName "com.ex.flav3"
            versionCode 27
            versionName "1.0.0"
            signingConfig signingConfigs.flav3
        }
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:19.+'
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile files('libs/httpmime-4.2.5.jar')
}

je n'ai vraiment aucune idée de ce que d'autre à essayer. Android Studio est complètement up-to-date. J'ai redémarré le studio Android, mon téléphone et mon ordinateur.

Aussi, la semaine dernière j'ai eu ce problème, mais c'est un socket spécifique qui a été bloqué, essayez d'exécuter l'émulateur et mon téléphone en même temps. J'ai aussi remarqué que j'avais plusieurs processus Gradle en cours, parce que ça ne les tuait pas tout seul, ce qui m'a souvent forcé à tuer Android Studio pour les tuer. Une fois que ça a été réparé, ça marchait de temps en temps.

faites-moi savoir si vous besoin d'autres infos.

Merci, Devin 151950920"

Edit je sais enfin pourquoi la réponse de @hasanaydogar fonctionne et pourquoi elle aurait probablement résolu mon problème si nous l'avions su alors. Voir mon 2ème commentaire pour savoir pourquoi, mais en bref, vous devez sélectionner dans cette liste déroulante le nom qui correspond au répertoire racine de votre application.

21
demandé sur Community 2014-05-12 21:45:37

5 réponses

il suffit de cliquer sur le bouton (côté gauche le bouton RUN).

enter image description here

Sélectionnez Android. Puis Sur Exécuter.

il se connectera à votre appareil.

et n'oubliez pas de changer la variante de construction

enter image description here

41
répondu hasanaydogar 2014-05-13 18:50:14

je comprends enfin pourquoi j'ai eu cette erreur donc je vais expliquer comment je Debug maintenant. Notez que j'utilise Gradle (construire plusieurs apk en utilisant le même code), ce qui pourrait influencer la façon dont vous utilisez la troisième partie de cette réponse.

Pour que ça marche, dans la liste déroulante à côté du debug (icône en #1) et de l'exécution des boutons dans la barre d'outils supérieure, vous devez avoir l'un sélectionné avec l'icône suivante, parce que c'est le nom de la racine répertoire de votre application où vit tout votre code:

enter image description here

  1. pour démarrer le débogage depuis le début, je lance l'application en mode Debug depuis le début, en utilisant ce bouton dans votre barre d'outils:

enter image description here!

  1. pour attacher le débogueur à l'application quand elle est déjà en cours d'exécution comme @scottyab mentionné, je clique sur le Attach Debugger bouton dans votre barre d'outils:

enter image description here

  1. pour lancer la version de sortie de mon application en mode de débogage, j'ai commencé à changer mes chaînes dans la version Debug de strings.xml dans le chemin du fichier myApp/src/appNameDebug(verses appNameRelease)/res/values/strings.xml , plus facilement vu ici, sur la moitié inférieure . Quand je dis changement, je veux vraiment dire que j'ai deux versions de toutes les chaînes (3 dans mon cas) nécessaires pour changer d'utiliser le serveur de débogage à l'utilisation du serveur de publication. Il se peut qu'il ne soit pas complètement casher, mais il faut environ 5 secondes pour aller dans le fichier, et maintenir Cmd+/ et décommenter et commenter toutes les lignes appropriées.

ma version Release est juste là pour quand je suis prêt à construire un apk pour la libération.

faire les choses de cette façon a éliminé cette erreur surgissant plus. Je pense que la version Release n'est pas faite pour le débogage, et je n'ai pas trouvé de moyen facile pour activer les indicateurs de débogage en mode Release .

6
répondu craned 2017-05-23 12:26:43

j'ai réussi à obtenir ce fonctionnement en attachant le débogueur après une construction voir incapable d'ouvrir le port de débogueur : java.net.SocketException "Socket closed "

2
répondu scottyab 2014-07-01 14:00:12

j'ai réussi à me débarrasser de ce problème en tuant et en relançant le processus de la BAsD,j'espère que cela aidera:]

2
répondu Nick 2016-04-13 09:18:15

j'ai résolu cette question en me référant à ce qui suit SO Answer

le bouton "Select Run / Debug Configuration" dans android studio 2.3.2

enter image description here

changer le type de débogage en natif

enter image description here

1
répondu Eric Lin 2017-06-02 05:47:21