android read_logs错误,读取系统日志(In use)android.permission.READ_LOGS

满意答案

您好,很高兴为您解答。读取日志需要的权限

主要代码

package mt.fzgh;import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.ArrayList;public class MyLog{ public static class MLog //静态类 { public static void getLog() { System.out.println("--------func start--------"); // 方法启动 try { ArrayList cmdLine=new ArrayList(); //设置命令 logcat -d 读取日志 cmdLine.add("logcat"); cmdLine.add("-d"); ArrayList clearLog=new ArrayList(); //设置命令 logcat -c 清除日志 clearLog.add("logcat"); clearLog.add("-c"); Process process=Runtime.getRuntime().exec(cmdLine.toArray(new String[cmdLine.size()])); //捕获日志 BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(process.getInputStream())); //将捕获内容转换为BufferedReader // Runtime.runFinalizersOnExit(true); String str=null; while((str=bufferedReader.readLine())!=null) //开始读取日志,每次读取一行 { Runtime.getRuntime().exec(clearLog.toArray(new String[clearLog.size()])); //清理日志....这里至关重要,不清理的话,任何操作都将产生新的日志,代码进入死循环,直到bufferreader满 System.out.println(str); //输出,在logcat中查看效果,也可以是其他操作,比如发送给服务器.. } if(str==null) { System.out.println("-- is null --"); } } catch(Exception e) { e.printStackTrace(); } System.out.println("--------func end--------"); } }}

这里比较令人纠结的一点就是日志的清理 logcat -c 如果不加入 清理 在buffer满为止,代码自身能够迭代6~7次....

附带一份logcat的 命令...不过好像 过滤器 指令有问题....慎用

选项 说明

-s 默认设置过滤器

- f 文件 输出到日志文件

-c 清除日志

-d 获取日志

-g 获取日志的大小

- v 格式 设置日志(见下面的格式打印格式)

- v 格式 例

brief W/tag ( 876): message

process W( 876) message (tag)

tag W/tag : message

thread W( 876:0x37c) message

raw message

time 09-08 05:40:26.729 W/tag ( 876): message

threadtime 09-08 05:40:26.729 876 892 W tag : message

long [09-08 05:40:26.729 876:0x37c W/tag ] message

如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】希望我的回答对您有所帮助,望采纳! ~ O(∩_∩)O~

00分享举报

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Unity中,要使用android.permission.READ_LOGS权限,需要根据不同的Unity版本和Bugly Unity Plugin版本进行相应的配置。根据引用[1]中的Android SDK使用指南,可以修改导出的Android工程的AndroidManifest.xml文件,将android.permission.READ_LOGS权限添加到权限声明中。具体步骤如下: 1. 打开Unity项目工程。 2. 导入最新版本的Bugly Unity Plugin。根据引用中的通用部分集成步骤,下载并导入Bugly Unity Plugin的相关文件到您的Unity工程中。 3. 打开导出的Android工程的AndroidManifest.xml文件。这个文件位于Unity项目工程的Assets/Plugins/Android目录下。 4. 在AndroidManifest.xml文件中的权限声明部分,添加如下权限: <uses-permission android:name="android.permission.READ_LOGS" /> 通过以上步骤,您就可以将android.permission.READ_LOGS权限添加到Unity项目的AndroidManifest.xml文件中,以实现读取logcat日志的功能。请注意,根据具体的Bugly Unity Plugin版本和Unity版本,可能还需要执行其他配置和集成步骤,具体可以参考Bugly Unity Plugin的官方文档或相关资源。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Bugly Unity Plugin](https://blog.csdn.net/qq_39816832/article/details/80238872)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [unity--关于自动添加READ_PHONE_STATE权限](https://blog.csdn.net/lalate/article/details/84340644)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值