web-dev-qa-db-fra.com

Impossible de voir la valeur du paramètre dans Android Studio lorsque le point d'arrêt est en première ligne d'une méthode

Je suis en train de passer d'Eclipse à Android Studio et j'ai constaté ce comportement étrange. Lorsque j'ajoute un point d'arrêt dans la première ligne d'une méthode, je ne peux pas voir les valeurs des paramètres. La seule chose que je peux voir alors est la référence this. Je dois soit effectuer une étape de débogage ou définir le point d'arrêt sur une ligne après la première pour afficher les valeurs des paramètres.

Quelqu'un d'autre a ce problème ou sait ce qui ne va pas ici?

25
SimonSays

La solution fournie par Google ici consiste à mettre à niveau le plugin Android Studio Gradle vers la v1.0.1

2
SimonSays

Essayez de désactiver la couverture de test jacoco pour la construction de débogage dans votre fichier build.gradle:

debug {
    ...
    testCoverageEnabled false
}

Cela a complètement résolu le problème pour moi où la mise à jour du plugin Gradle ne l’avait pas fait.

38
Rhys Davis

Une bonne solution jusqu’à ce que Le numéro 123771 de l’AOSP - soit résolu, consiste à utiliser l’extrait fourni par Stuart dans la section commentaires:

buildTypes {
    debug {
        [...]
        testCoverageEnabled true
    }
    release {
        [...]
    }
    debuggable.initWith(buildTypes.debug)
    debuggable {
        testCoverageEnabled false
    }
}

De cette façon, vous pouvez conserver vos rapports de couverture de test dans votre version de débogage et avoir un moyen de parcourir le code en consultant vos variables locales.

7

Je n'ai pas dans mon dossier de notes:

debug {
    ...
    testCoverageEnabled true
}

mais avait le même problème sur Android Studio 2.2 . Solution qui m'a aidé à résoudre le problème:

  1. Désactiver Exécution instantanée in IDEA Paramètres.
  2. Projet de reconstruction.
  3. Activer Exécution instantanée .
2
IgorOK

J'en avais marre de basculer testCoverageEnabled lorsque je voulais déboguer, donc configurez une propriété de projet pour la désactiver lorsqu'elle est exécutée à partir d'Android Studio, mais activée par défaut lorsqu'elle est exécutée à partir de la ligne de commande sans option, comme dans une boîte de construction.

// Default to true, set -PtestCoverageEnabled=false in IDE compiler command-line options
def isTestCoverageEnabled = { ->
    def enabled = project.hasProperty('testCoverageEnabled') ? testCoverageEnabled.toBoolean() : true
    println "testCoverageEnabled = " + (enabled ? "true" : "false")
    return enabled
}

Android {
    buildTypes {
        debug {
            testCoverageEnabled isTestCoverageEnabled()
        }
    }
}

Pour définir la propriété dans IDE, ajoutez l'option de ligne de commande -PtestCoverageEnabled=false

Android Studio -> Préférences -> Construction, exécution, déploiement -> Compilateur -> Options de ligne de commande

1
darnmason

Si votre construction utilise la chaîne d'outils jack , cela peut être la source du problème. Dans mon cas, la désactivation de la prise résout le problème:

buildTypes {
...
    debug {
        jackOptions {
            enabled false
        }
    }
}

Remarque: la compatibilité de la source 1.8 nécessite une prise! 

1
Miklós Keresztes

La configuration suivante a fonctionné pour moi pour la version buildType.

buildTypes {

libération{

testCoverageEnabled = false

debuggable true

minifyEnabled false

shrinkResources false

}

0
DkPathak

J'ai rencontré ce problème lorsque j'ai essayé de déboguer une application précédemment installée à l'aide d'un fichier APK et non d'Android Studio. Fixé en désinstallant l'application et réexécutez le débogage.

0
Chin