142 votes

Comment déboguer un APK signé pour publication ?

J'ai une version APK que j'ai signée, téléchargée sur Google Play et installée sur mon appareil Android. J'aimerais déboguer cet APK (au moyen d'Android Studio ou d'Eclipse) pendant qu'il s'exécute sur mon appareil Android. J'ai déjà fait cela auparavant et je me souviens que c'était avec l'un des outils de développement Android (peut-être Dalvik Debug Monitor). Malheureusement, je ne me souviens pas de la manière de procéder et je n'ai pu trouver aucun article en ligne. Quelqu'un sait-il comment procéder ?

Notes

  1. J'ai défini android:debuggable="true" dans le fichier manifeste de l'application.
  2. J'ai activé le débogage USB sur mon appareil Android.

162voto

Manuel Lopera Points 1433

Je sais qu'il s'agit d'une vieille question, mais il faut s'y référer à l'avenir. Dans Android Studio avec Gradle :

buildTypes {
    release {
        debuggable true
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
    }
}

La ligne debuggable true a été la solution pour moi.

Avant Gradle 1.0, c'était runProguard au lieu de minifyEnabled . Regarder aquí .

88voto

Sam Dozor Points 5709

Veillez à ce que android:debuggable="true" est défini dans le application de votre fichier manifeste, puis :

  1. Branchez votre téléphone sur votre ordinateur et activez le débogage USB sur le téléphone.
  2. Ouvrez eclipse et un espace de travail contenant le code de votre application.
  3. Dans Eclipse, allez dans Fenêtre->Afficher la vue->Périphériques.
  4. Regardez la vue Appareils qui devrait maintenant être visible, vous devriez voir votre appareil listé.
  5. Si votre appareil ne figure pas dans la liste, vous devrez rechercher les pilotes ADB pour votre téléphone avant de continuer.
  6. Si vous voulez avancer dans le code, placez un point d'arrêt quelque part dans votre application
  7. Ouvrez l'application sur votre téléphone
  8. Dans la vue Appareils, développez l'entrée correspondant à votre téléphone si elle n'est pas déjà développée, et recherchez le nom du paquet de votre application.
  9. Cliquez sur le nom du paquet, et en haut à droite de la vue des appareils, vous devriez voir un bogue vert ainsi qu'un certain nombre d'autres petits boutons. Cliquez sur le bogue vert.
  10. Vous devriez maintenant être en train d'attacher/déboguer votre application.

43voto

sandalone Points 8326

Outre la méthode de Manuel, vous pouvez toujours utiliser le Manifeste.

Dans Android Studio stable, vous devez ajouter les 2 lignes suivantes à application en el AndroidManifest fichier :

    android:debuggable="true"
    tools:ignore="HardcodedDebugMode"

La première permet le débogage de l'APK signé, et la seconde prévient les erreurs de compilation.

Ensuite, vous pouvez vous attacher au processus via le bouton "Attach debugger to Android process" (Attacher le débogueur au processus Android).

12voto

shylendra Points 3399

J'ai essayé avec ce qui suit et cela a fonctionné :

release {
            debuggable true
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }

11voto

Ajoutez ce qui suit à votre application build.gradle et sélectionnez la variante de construction de la version spécifiée et exécutez

signingConfigs {
        config {
            keyAlias 'keyalias'
            keyPassword 'keypwd'
            storeFile file('<<KEYSTORE-PATH>>.keystore')
            storePassword 'pwd'
        }
    }
    buildTypes {
      release {
          debuggable true
          signingConfig signingConfigs.config
          proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X