2010-07-24 2 views
7

J'ai une application disponible sur Android Market. Certains utilisateurs ont demandé un mode de débogage lorsque les choses ne fonctionnent pas comme prévu. je cherche en ajoutant un élément de menu qui affiche la sortie deApplication Android en utilisant android.permission.READ_LOGS - est-ce impoli?


    Process mLogcatProc = null; 
    BufferedReader reader = null; 
    mLogcatProc = Runtime.getRuntime().exec(
     new String[] {"logcat", "-d", "AndroidRuntime:E BDtN:V *:S" }); 
    reader = new BufferedReader(new InputStreamReader (mLogcatProc.getInputStream())); 
    String line; 
    ArrayList listOfLogLines = new ArrayList(); 
    while ((line = reader.readLine()) != null) 
    { 
     listOfLogLines.add(line); 
    } 

Fondamentalement, je suis extrais les parties du journal. * Lignes que mon application a été écrit et les erreurs que le AndroidRuntime a été jeter .

J'ai un prototype fonctionnel qui affichera à l'utilisateur le contenu de la partie du journal que j'ai extraite dans un ListView.

Je devrai ajouter android.permission.READ_LOGS au fichier AndroidManifest.xml pour que mon application ait un accès en lecture au journal, et ce sera bien sûr l'information à laquelle l'utilisateur sera invité avant l'installation. Et la question est de savoir si cela est considéré comme impoli, dangereux ou hors de l'ordinaire. Cela empêchera-t-il les utilisateurs d'installer?

+1

Il semble que sur Android 4.1 Jelly Bean cette autorisation n'est pas accordée aux applications non-système. – Tom

Répondre

8

Je ne voudrais pas installer une application qui a fait cela. Si tout ce que vous voulez est vos propres journaux, votre application peut conserver son propre tampon de journal privé dans lequel elle écrit avec le journal du système.

Vous pouvez même pas besoin de le faire si: http://android-developers.blogspot.com/2010/05/google-feedback-for-android.html

+1

Merci. Je suppose que j'avais le sentiment de faire quelque chose de mal là-bas. Je vais implémenter mon propre journal. – Jbruntt

2

Ne faites pas de vos problèmes en direct difficiles et des risques avec votre utilisateur! java.util.logging est disponible sur Android ainsi (et même transmis à android.util.Log) et un java.util.logging.Handler fera tout ce que vous voulez.