【发布时间】:2010-07-24 21:16:28
【问题描述】:
我有一个可从 Android Market 获得的应用。 当事情没有按预期进行时,一些用户要求提供一种调试方法。 我一直在考虑添加一个菜单项来显示
的输出
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);
}
基本上,我正在提取我的应用程序一直在编写的 Log.* 行的部分以及 AndroidRuntime 一直在抛出的错误。
我有一个工作原型,它将向用户显示我在 ListView 中提取的部分日志的内容。
我必须将 android.permission.READ_LOGS 添加到 AndroidManifest.xml 文件中,以便我的应用程序能够读取日志,这当然是用户在安装前会收到提示的信息。 问题是这是否被认为是不礼貌、危险或其他不寻常的。它会阻止用户安装吗?
【问题讨论】:
-
似乎在 Android 4.1 Jelly Bean 上,此权限未授予非系统应用程序。