位置: 编程技术 - 正文

Android中如何将原生程序向stdout和stderr的输出重定向到logcat(怎么将安卓)

编辑:rootadmin

推荐整理分享Android中如何将原生程序向stdout和stderr的输出重定向到logcat(怎么将安卓),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:android怎么转java,如何将android数据导入到iphone,android怎么转java,android怎么转移到ios,android 程序 如何 转移,android 程序 如何 转移,android怎么导入,android 程序 如何 转移,内容如对您有帮助,希望把文章链接给更多的朋友!

在Android系统中,凡是由Zygote孵化出来的进程,其标准输出(stdout)、标准错误(stderr)都被重定向到了/dev/null这个设备中。因此,任何输出到stdout和stderr的信息都会被忽略。而Android的应用程序,都是自Zygote进程孵化出来的,所以都不会有stdout和stderr输出,printf函数根本不起作用。

这通常没有什么问题,Android为了弥补没有stdout和stderr的缺陷,特别设计了自己的日志系统供开发者使用。但有,有时候我们写的程序会用到已有的一些共享代码,这些共享代码可以被编译到Android平台上,但是它们的日志却是输出到stdout和stderr上的。如果要将它们的日志都输出到logcat上,那么必须得修改原有代码中所有打印日志的部分,不过往往这样做费时费力,还容易出错。那么有没有什么办法可以不修改代码,又让它们的日志输出到logcat上呢?

Android系统原生自带了一个小工具,叫做logwrapper,其位于/system/bin目录下。它可以将指定程序输出到stdout和stderr上的信息转发到logcat上去。

命令的&#;式是:

这里BINARY就是你要转发日志的应用程序,logwrapper会启一个子进程运行你的程序。而ARGS就是需要传递给你的应用程序的参数。

如果你的日志很长,不想全部打印出来的话,只关心程序刚启动之后一会或者程序结束前一会的状况,可以加上-a参数。加上之后,logwrapper只会打印其中之后的前4K和结束之前的前4K的日志。

如果你不想将程序的日志重定向到Amdrpod的日志系统,而是想重定向到内核日志的话,可以加上-k参数。

无论是向stdout的输出还是向stderr的输出,logwrapper转发到logcat中的日志,其Tag统一被设置成你自己的应用程序的名字,而输出级别都是“INFO”。

Android中如何将原生程序向stdout和stderr的输出重定向到logcat(怎么将安卓)

最后,拿个简单的例子实验一下。top命令的输出是打印到stdout上的,如果我们用logwrapper将其重定向一下,会是什么结果呢?

先用logwrapper将top启动起来:

这时候我们用ps命令来看看当前有哪些进程:

可以看到,这时有两个新增的进程,分别是logwrapper和top,并且top进程的父进程是logwrapper进程。

接着,我们用adb logcat连接上Android设备上的logcat,看看有什么结果:

果真top命令的输出被重定向到了logcat,并且级别是INFO(“I”),Tag是程序名(“top”)

禁止所有Activity横屏 在manifest.xml文件中配置设置横屏:在每个activity中加入以下两行代码:activityandroid:screenOrientation=portrait//初始为竖屏android:configChanges=orientation|keyboardHidden|

Android属性allowBackup安全风险浅析 1.allowBackup安全风险描述AndroidAPILevel8及其以上Android系统提供了为应用程序数据的备份和恢复功能,此功能的开关决定于该应用程序中AndroidManifest.xml文件

DOM解析XML文件3-SimpleAdapter_自定义布局 1.新建名为domxml的项目2.新建user_item.xml的自定义布局文件?xmlversion="1.0"encoding="UTF-8"?LinearLayoutxmlns:android="

标签: 怎么将安卓

本文链接地址:https://www.jiuchutong.com/biancheng/385253.html 转载请保留说明!

上一篇:WebView 布局设置fill_parent carch(webview设置ua)

下一篇:禁止所有Activity横屏(禁止所有陌生人的来电设置)

  • 所得税费用影响企业利润总额吗
  • 固定资产更新改造资本化条件
  • 收入费用表本期盈余和资产负债表本期盈余
  • 一般纳税人结转增值税的账务处理
  • 利润表的所得税费用怎么填
  • 长期待摊费用影响什么
  • 企业工程款发票税率是多少2021
  • 小规模纳税人租金发票开几个点
  • 统借统还资金管理办法
  • 开发间接费什么时候计提
  • 转让土地使用权会计分录怎么做
  • 商贸公司可以用加工厂的商标委托加工生产吗
  • 拖欠供应商货款
  • 仓库常用包材
  • 利润是负数不用计提所得税规定是什么?
  • 个人所得税费怎么计算2021
  • 个体户查账征收没有成本票怎么办
  • 公司章程出资时间怎么填写
  • 当月没有进项税额抵扣怎么办
  • 新公司第一年
  • 电脑管家游戏加速怎么卸载
  • 监理费的付款比例
  • 计提本月短期借款利息1000元
  • 微软为XSX推出星空版主机壳
  • 把原材料给别人加工怎么入账
  • php基础函数
  • shell检查变量是否为空
  • 考拉妈妈打考拉
  • 培训公司要交哪些税
  • 长期待摊费用应该怎么摊销
  • 科罗拉多河上的月光简谱
  • 社保挂靠公司收费标准是怎样的
  • mysql集群三种方式
  • laravel使用了哪些设计模式
  • 决算清理期和库款报解整理期
  • 如何计算公司需增加的营运资金
  • autocut跟踪调节
  • js创建对象的三种方式
  • 个体工商户和个人独资企业的区别
  • 车间打杂工
  • 企业处置固定资产发生的净损失应计入
  • 哪些项目可以在城镇开发边界外
  • 帝国cms修改提示怎么设置
  • 申报错误要罚款吗
  • 科技型中小微企业贷款贴息贴保项目入库
  • 药店的主营业务类别怎么填
  • db2使用教程
  • 帐外资金
  • 企业购进材料取得增值税专用发票
  • 固定资产大修理和更新改造的区别
  • 为什么说运输是实现物流合理化的关键
  • 装卸费专票
  • 工会经费为0是不用申报的?
  • 会计账簿记账规范要求
  • 项目前期的研发费用
  • 余利宝收益如何算
  • 票据贴现的分录
  • 一般纳税人购入固定资产进项抵扣
  • 收到党建工作经费的通知
  • 申请国家知识产权的条件
  • 管理会计主要内容包括
  • 企业建账可以处于哪几个阶段
  • 如何建立一个新的群
  • 小企业如何做
  • pptp和l2tp哪个比较安全
  • win7关机快捷键设置
  • windows7脚本编程和命令行指南
  • win7禁用administrator
  • window10邮件
  • 深入理解中国式现代化
  • Node.js中的什么模块是用于处理文件和目录的
  • bat文件加密如何解锁
  • 安卓数据网络
  • Android Fragment 体系 源码追踪笔记(4)
  • javascript初级教程
  • scrollview嵌套flatlist
  • python 打印对象的全部属性
  • 开的发票怎么抽奖
  • 深圳市税务局好考吗
  • 国家税务总局2019年45号公告解读
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设