Je développe une application Android utilisant Android Studio 2.1.3 et Gradle.
Le problème est que le point d'arrêt d'une méthode simple n'est jamais atteint, même s'il doit l'être, car la condition est remplie lors du débogage de l'application.
Premièrement, je pensais que le problème était lié au problème décrit dans la réponse à cette question: BuildConfig.DEBUG toujours faux lors de la construction de projets de bibliothèque avec gradle
Pour tester cela, j'ai supprimé le projet de bibliothèque et intégré tout mon code source dans le module principal de l'application. Rien n'a été résolu . Il est à noter que le code suivant est le build.gradle, où minify est défini sur false pour les deux versions debug/release:
apply plugin: 'com.Android.application'
Android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "com.mycompany.mymobileapp"
minSdkVersion 21
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
debuggable true
jniDebuggable true
renderscriptDebuggable true
zipAlignEnabled false
}
debug {
debuggable true
minifyEnabled false
zipAlignEnabled false
jniDebuggable true
renderscriptDebuggable true
}
}
productFlavors {
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
testCompile 'org.mockito:mockito-core:2.0.5-beta'
testCompile 'com.Android.support:support-v4:23.1.1'
testCompile 'org.powermock:powermock-api-mockito:1.6.2'
testCompile 'org.powermock:powermock-module-junit4-rule-agent:1.6.2'
testCompile 'org.powermock:powermock-module-junit4-rule:1.6.2'
testCompile 'org.powermock:powermock-module-junit4:1.6.2'
compile 'com.Android.support:appcompat-v7:23.1.1'
}
Voici la capture d'écran avec ce que me montre Android Studio:
Ce n'est pas non plus le seul cas. Il arrive que le compilateur saute alors sur une autre partie du code que celle en cours de débogage.
Y at-il une explication raisonnable ici? Suspend: "thread" et "all" essayé, même résultat.
UPDATE 1: Le projet a été recréé avec Eclipse et tout fonctionne correctement . Il est toujours étonnant de voir pourquoi utiliser Android Studio cela ne fonctionne pas!
Après avoir recréé l'application à l'aide d'Eclipse et observé le comportement correct, je suis retourné à Android Studio afin de vérifier s'il y avait une option que j'ai manquée.
Après avoir essayé toutes les options de Fichier -> Paramètres que je pouvais, je conclus que Instant Run est le mal qui m'a fait perdre un temps précieux.
Je ne comprends pas en quoi cela est lié à mon problème, mais après avoir effacé toutes les cases à cocher:
Je me suis retrouvé avec un code qui exécute la façon dont je m'attends en tant que développeur:
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-Android.txt')
}
debug {
debuggable true
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt')
}
}
Définissez minifyEnabled false dans le bloc de débogage dans le fichier build.gradle.
Je faisais face à un problème similaire.
J'ai essayé:
et ça n'a pas marché.
Tout ce que j’ai fait à la fin pour que cela fonctionne était Ctrl+Shift++. C'est le raccourci pour développer tous les blocs de code. Je viens de lancer le projet après cela et cela a fonctionné.
essayez de nettoyer et de reconstruire le projet. Essayez de vous connecter avec cette méthode pour vérifier si elle est en cours d’exécution.
LOG.(TAG,"method being executed")