55 votes

Désactiver complètement la sortie LogCat dans l'application Android en version finale?

Arrêter la sortie du LogCat de mon application avant de la publier sur le marché est simple. Je sais aussi comment filtrer sélectivement les messages du LogCat par étiquette et/ou par identifiant pour ma propre commodité de débogage.

Mais maintenant, je m'intéresse à quelque chose qui pourrait être beaucoup plus difficile (voire impossible?) : Désactiver toute sortie du LogCat, y compris & surtout celles provenant de services tiers comme TtsService, GoogleLoginService, etc.

Est-ce possible ?

Pour clarifier davantage : Je ne suis pas intéressé par le filtrage des messages pour moi-même. Je suis plutôt intéressé par la désactivation des messages provenant de tiers pour quiconque télécharge mon application sur le Market Android. Est-ce possible ?

2 votes

Donc vous voulez empêcher toute application sur l'appareil de l'utilisateur d'écrire une sortie LogCat?

1 votes

Voulez-vous dire les messages de journalisation de ces bibliothèques tierces que vous incluez (ou utilisez) depuis votre application ?

0 votes

@eldarerathis Non, je veux empêcher toute application qui est directement ou indirectement utilisée par mon application, d'écrire une sortie LogCat. Désolé de ne pas avoir été assez clair.

0voto

J'ai combiné la réponse acceptée de David Snabel-Caunt en plus de remplacer les paramètres par défaut de ProGuard (fichier "proguard-android.txt") du SDK Android par le fichier optimisé "proguard-android-optimize.txt". Le fichier est également disponible dans ce dossier du SDK Android avec les mêmes règles mais avec les optimisations activées.

0voto

Flawyte Points 2093

Au lieu d'énumérer toutes les méthodes de la classe, il semble que vous puissiez également simplement utiliser l'abréviation :

-assumenosideeffects class a.b.c.DebugLogs {
    ;
}

Cela a fonctionné pour moi avec la version 4.0.0 de com.android.tools.build:gradle.

-1voto

heronsanches Points 11

Vous pouvez mettre debuggable false sur buildTypes release.

buildTypes {

     release {
        debuggable false
        ...
     }

}

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