web-dev-qa-db-fra.com

Comment déboguer l'application Android en mode de sortie en utilisant Android studio

Pour une raison quelconque, je dois exécuter mon Android App en mode de libération. Je dois parcourir le code lors de l'exécution de l'application, tout comme nous utilisons en mode débogage. Mes points d'arrêt ne frappent pas lorsque je exécuter en mode release, j'ai ajouté Android:debuggable="true" en manifeste. Le point d'arrêt ne frappe toujours pas. De l'aide.

Merci d'avance

28
Bazi Paleri

Dans mon cas, j'ai créé la configuration de débogage de la même manière que la version précédente et j'ai commencé le débogage. Cela signifie que vous devez donner la génération de signe dans la version de débogage également dans la version de génération.

signingConfigs {
    config {
        keyAlias 'abc'
        keyPassword 'xyz'
        storeFile file('<<KEYSTORE-PATH>>.keystore')
        storePassword 'password'
    }
}
buildTypes {
  debug {
      debuggable true
      signingConfig signingConfigs.config
      proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.txt'
    }
}

Il aura donc le même signe que la version et vous pourrez déboguer lors de son exécution.

9
Bazi Paleri

Dans votre fichier Gradle, vous devez ajouter une capacité de débogage dans votre version.

buildTypes {
    release {
        debuggable true
        minifyEnabled false
        signingConfig signingConfigs.release
        proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.txt'
    }
    debug {
        debuggable true
        minifyEnabled false
        applicationIdSuffix '.debug'
    } 
}

signingConfig est la configuration de la version, elle doit être ajoutée dans le fichier gradle dans le bloc Android {}, quelque chose comme ceci:

signingConfigs {
    release {
        keyAlias 'YourAppKey'
        keyPassword 'somePassword'
        storeFile file('appkeyfile.jks')
        storePassword 'somePassword'
    }
} 
31
once2go
 buildTypes {
    release {
    debuggable true
    minifyEnabled true
    proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.txt'
}
}

codage heureux.Mark cette réponse up.Si cela aide .. :)

1
Harry Sharma

Il n'y a pas de "mode de libération". Ce à quoi vous vous référez est le type de construction qui signifie les étapes prises pendant la construction (comme la minification, etc.). Réglage Android:debuggable="true" n'aidera pas automatiquement, car lorsque vous "exécutez" l'application au lieu de "déboguer", vous n'y connectez pas le débogueur, il ne s'arrêtera donc pas pour cette raison particulière.

Vous pouvez donc configurer votre build de débogage pour qu'il soit produit de la même manière que la version, mais vous ne savez pas quel est le raisonnement derrière votre besoin et j'ai le sentiment que vous essayez d'aller dans le mauvais sens (c'est-à-dire que le débogage n'utilise généralement pas ProGuard, tandis que la version est et ProGuard modifie le binaire résultant afin que vos points d'arrêt à partir de la source ne fonctionnent pas vraiment de toute façon).

0
Marcin Orlowski