位置: 编程技术 - 正文

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年
  • windows10无线网卡怎么连接无线网
  • 总分公司分税
  • 现金流量表与资产负债表不符
  • 运费用会计分录
  • 服务器时间总是不对
  • 工程投标保证金最新规定
  • 内部收益率如何计算例题
  • php数组函数实现机选双色球
  • WordPress导航菜单权限控制
  • 商品盘点短缺和溢余的核算
  • b250主板最好的cpu是哪一款
  • 非货币性资产交换
  • 开发票金额少于付款金额差额怎么入账?
  • 租金收入会计分录怎么写
  • 小企业如何记账
  • css中哪些属性可以使用
  • dpkg命令详解
  • python 嵌入
  • 跨境电商小规模怎么做账报税
  • phpcms怎么用
  • python3 tcp
  • 享受专项附加扣除要什么时候申报
  • 非财政补助结余在资产负债表中怎么填
  • sqlserver导入导出数据库
  • 公司自有房产出租给员工如何处理
  • macos mysql安装
  • 营业成本包含哪些项目
  • 工会经费到底怎么算
  • 生育津贴和产假工资就高原则
  • 会计继续教育的发票在哪里打
  • 电梯安装费如何分摊
  • 我国流转税税制结构的现状及改进意见
  • 代账公司帮客户开发票
  • 员工个人买的保险可以税前扣除吗
  • 小规模公司购买汽车如何抵税
  • 买钢管扣件
  • 苹果今日报价
  • centos如何下载
  • 简单易上手 固态硬盘SSD安装WIN7系统的3种办法
  • xp系统怎么找回删除的文件
  • win8 开机
  • win8.1 win7
  • mac怎么使用islide
  • centos6.6
  • Windows XP Professional VLK SP2 简体中文版
  • cocos2dx4.0教程
  • unity lightmap uv
  • 安卓布局优化
  • 画廊作品
  • jquery移动div到另一个div中
  • python socket编程步骤
  • python xml.dom.minidom模块生成xml
  • 举例讲解水生花卉栽培管理
  • Android-SQLite商业化数据库操作
  • android 全局viewmodel
  • js在div中添加div
  • 收到虚开的增值税专用发票
  • 摩托车的消费税率
  • 怎么用发票号码查询商品
  • 整备质量吨位数是什么意思
  • 金米财税不退款怎么办
  • 出口突尼斯提供哪些清关单据
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设