android源码编译输出日志到文本txt log

android 开发导出txt文件 package com.lzhy.adsb.portable.lib.utils; import android.util.Log; import java.io.File; import java.io.RandomAccessFile; public class DownloadUtils { /** * 将字符串写入到.txt文件中 */ public static void writeTxtToFile(String strcontent, String 阅读详情

编译时候有时候terminal显示区域有限,有时候编译出错想要找一个编译错误原因可能在terminal上就比较麻烦,或者很可能缓存有限导致找不到根本错误,这个时候就需要我们把编的整个日志需要输出到一个文件中,具体命令:

make   2>&1 | tee build.log  

这里首先make不用介绍了,重点介绍2>&1和tee
2>&1:
在 bash 命令执行的过程中,主要有三种输出入的状况,分别是:

  1. 标准输入;代码为 0 ;或称为 stdin ;使用的方式为 <
  2. 标准输出:代码为 1 ;或称为 stdout;使用的方式为 1>
  3. 错误输出:代码为 2 ;或称为 stderr;使用的方式为 2>

2是标准错误,&1是标准输出,2>&1意思就是将标准错误输出到标准输出中。
如果没有2>&1,只会有标准输出,没有错误;

tee build.log
这里tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。
所以命令就是tee从make 2>&1 获取输入,输出到build.log

在这里插入图片描述
如果需要学习更多framework只是和视频可以b站关注:千里马学框架,购买课程最好加入422901085群里找千里马要优惠和答疑

课程答疑和新课信息:QQ交流群:422901085进行课程讨论,加群主qq享受 优惠
FrameWork入门课视频链接:https://edu.youkuaiyun.com/course/detail/30298
FrameWork实战课1视频链接:https://edu.youkuaiyun.com/course/detail/30275
FrameWork跨进程通信视频链接:https://edu.youkuaiyun.com/course/detail/35911
专题博客系列:
Android 8.1 zygote 启动过程源码
Android Framework实战视频–Zygote的fork进程篇
Android Framework实战视频–SystemServer启动篇
Android Framework实战视频–SystemServer启动FallbackHome篇
Android Framework实战视频–FallbackHome进程启动及Activity启动篇
Android Framework实战视频–FallbackHome结束启动Launcher篇
Android Framework实战视频–BootAnimation的启动源码分析(Android8.1)

Android Framework实战视频–init进程的bootanimation启动源码分析(补充Android 10部分的BootAnimation的启动源码分析)

Android 7.21-2 用adb把log重定向到文件进行debug 今天导师给我出了个题目,他让我把服务器上的一个安卓系统里的Settings代码单编到测试设备,点击WiFi试试。 我将编译好的apk安装到设备上,点击设置,wifi出现了这样的情况 下面是排错方法: 连接设备到电脑,打开cmd, 输入adb logcat,发现会有巨多日志 如果日志太多可以先adb logcat -c进行清除 然后进行输出重定向 输入adb logcat > log.txt回车开始写入日志 然后进行出错的操作,这里是再去点击WiFi 点完以后Ctrl+C退出 然后打开用编辑器打开l 阅读详情

相关推荐

MacOS编译Android源码:环境配置与疑难解决指南

在软件开发领域,跨平台编译是开发者经常面临的挑战,特别是在MacOS环境下编译Android源码时。理解操作系统底层原理是关键,MacOS的APFS文件系统默认不区分大小写,而Android源码中存在大量仅大小写不同的文件,这会导致编译错误。通过创建区分大小写的APFS宗卷可以解决此问题。此外,系统资源限制如文件描述符上限也需要调整,以避免编译过程中的资源耗尽错误。这些技术细节对于进行AOSP开发或系统级定制的开发者尤为重要。实践中,合理配置Xcode SDK版本和系统参数,能显著提升编译效率和成功率。本文

weixin_30673611的博客 286

android源码环境下用mmm/mm编译模块,输出编译log到文件的方法

mmm packages/apps/模块名 -j4 2>&1 | tee build.log。1,在android目录下直接用mmm命令编译, log信息保存在android目录下。android源码环境下用mmm/mm编译模块,输出编译log到文件的方法。2,在模块路径下用mm命令编译,log信息保存在模块路径下。

zxlhc的博客 702

Android源码编译与烧写全流程实战指南:从环境搭建到设备部署

Android系统构建是移动开发领域的核心技术环节,涉及从源代码到可运行系统的完整转换过程。其原理基于模块化编译和镜像打包,通过构建系统(如Soong/Bazel)将Java、C++及资源文件整合为可分发的系统镜像。这一技术的核心价值在于实现系统级定制、性能优化及硬件适配,广泛应用于ROM定制、设备驱动开发和系统级功能扩展等场景。本文聚焦于Android源码编译与烧写全流程,详细解析环境配置、源码同步、构建参数选择等关键步骤,并针对fastboot工具使用、镜像烧录及设备驱动集成等工程实践提供解决方案,帮助

weixin_30509393的博客 416

RK android7.1 编译调试日志

1.脚本 拿到SDK后修改下build.sh的相关配置 2.安装安卓源码版本需要的JDK vi build/core/version_defaults.mk Android7.1 系统编译依赖于 Java 8。编译之前需安装 OpenJDK sudo apt-get update sudo apt-get install openjdk-8-jdk sudo vim ~/.bashrc 或者 sudo vi /etc/profile sudo vi /etc/enviroment

zljdfaljsfd的博客 664

Android 14 AOSP编译实战:Ubuntu环境搭建、源码下载与系统构建全流程

操作系统构建是现代软件开发中的核心环节,它涉及将源代码转化为可运行系统的完整流程。其原理基于构建系统(如AOSP的Soong/Ninja)对依赖关系的解析与并行编译,技术价值在于提供了从底层理解系统运作、深度定制和性能优化的能力。这一技术广泛应用于系统开发、ROM定制和嵌入式设备等领域。本文聚焦于Android 14系统构建,详细解析在Ubuntu环境下完成AOSP源码下载、环境配置、编译构建到运行调试的全链路实践,其中涉及**源码同步**的网络优化策略与**增量编译**的效率提升技巧,为开发者提供从零到一

clijovtbq401783153的博客 434

NDK 是什么 | FFmpeg 5.0 编译 so 库

最后用官网的几句话收尾:Android NDK 是一组使您能将 C 或 C++(“原生代码”)嵌入到 Android 应用中的工具。NDK 将 C 和 C++ 代码编译到原生库中,然后使用 Android Studio 的集成构建系统 Gradle 将原生库打包到 APK 中。其余的东西暂时对我们来说并没有什么太大的意义,现在我们的目的是通过这个源码通过。可以手动设置需要的功能,如果直接别人编译好的,就没有设置的机会。中指定只构建哪些,比较支持的架构越多,应用体积越大。和其他语言,它是一系列工具的集合。

yinshipin007的博客 1817

android导出txt文件格式,安卓端数据导出成txt文件

toExport() {if (this.dataList == false) {this.$createDialog({type:"alert",content:"数据為空",confirmBtn:"確定",icon:"cubeic-alert"}).show();}else{var that = this;this.$createDialog({type:"confirm",icon:"cub...

weixin_33517451的博客 1090

在Android屏幕上简单输出自定义文本

一个简单的代码,在手机界面上输出自定义的文本,采用线性布局。

编译输出log

android的官方代码默认不输出log,因此只能在编译的时候,自己添加参数,make 的时候,后面跟以下参数: 2>&1 | tee ./BuildLog.txt

romaticxiaoyu的专栏 1211

YOLOv8损失函数升级:从CIoU到Wise-IoU v3的实战调优与避坑指南

本文详细介绍了如何将YOLOv8的损失函数从CIoU升级到Wise-IoU v3,以提升目标检测性能,特别是在小目标检测和样本不均衡场景下的表现。通过实战调优步骤和避坑指南,帮助开发者有效应用Wise-IoU v3的动态聚焦机制和单调性控制,显著提升模型精度和训练稳定性。

weixin_33737774的博客 590

从ARCore到AICore:揭秘Google如何通过系统级服务推动Android生态创新

本文深入探讨了Google如何通过AICore等系统级服务推动Android生态创新。从ARCore到AICore,Google通过分层解耦策略将AI能力下沉至系统层,实现端侧大模型推理,如Gemini Nano在Pixel 8 Pro中的应用。文章剖析了AICore的技术架构、开发者赋能路径及场景化实践,展示了其在通信、内容创作和生产力工具中的卓越表现。

rust6ferris的博客 545

android去掉所有log日志,Android release包去掉Log日志

曾经做混淆打包时,为了APP安全,需要去掉代码里的Log日志。网上好多都是说自定义一个Log工具类,设置个true、fale开关来控制的方案。但是,有个问题,如果代码被反编译了,还是可以轻松开启日志开关,定位出关键代码。所以,新解决思路是在打包时,去掉带Log的代码。所以,当然考虑从build.gradle和proguard-rules.pro入手。Talk is cheap, show me t...

weixin_31599065的博客 1802

从零开始:EAS2+Elmo+Maxon电机调试全流程(含电流环优化技巧)

本文详细解析了从零开始搭建基于EAS2软件、Elmo驱动器和Maxon电机的运动控制系统的全流程。内容涵盖硬件连接规范、EAS2基础配置、核心的电流环模型辨识与手动优化技巧,以及速度环、位置环的搭建与调试策略,旨在帮助工程师构建稳定、高性能的伺服控制核心。

i0j1k2l3m的博客 502

android源码编译 关闭混淆,ProGuard混淆编译--防止apk被反编译

混淆器(ProGuard)通过删除从未用过的代码和使用晦涩名字重命名类、字段和方法,用来混淆、压缩和优化Java字节码文件,该文件比较难进行逆向工程。混淆器被集成在android构建系统中,仅在发布模式下进行构建应用程序的时候才会运行起来,所以在调试模式下构建程序时,你不必处理混淆代码。让混淆器运行起来是可选择的,但是推荐选上。新建了一个Android工程之后,一个proguard.cfg文件会在...

weixin_36310141的博客 1086

毫米波雷达dd-mimo中发射天线辐射方向图变化

本文详细介绍了dd-mimo的相位调制原理,以及分离天线的办法,最后演示了在dd-mimo中因为相位调制带来的辐射方向图的变化。

weixin_44555637的博客 1167

CODESYS Softmotion(一)功能介绍

一、CODESYS SoftMotion RTE SL产品 1.1 CODESYS Runtime SL 产品家族介绍 目前支持的主流厂商的硬件产品,让部署在上面的成为实时设备。 对于Windows系统,根据需求选择对应的Runtime: RTE极大的提高了实时性,适合进行运动控制,同时RTE还支持了多个主从站协议: 还可以选择可选的功能(Single License): RTE对硬件和系统有要求,如果你需要硬件功能,那么网卡会有最低要求。 1.2 RTE的下载和安装 在官网http://codes

Fishfishfishfishcat 2万+

Android:JNI实战,加载三方库、编译C/C++

本篇主要从项目架构上剖析一个Android App如何通过Jni机制加载三方库和C/C++文件。

肖云鹤的博客 2837

DM-VIO论文精读:从‘延迟边缘化’到‘位姿图BA’,手把手拆解单目VIO性能超越双目的秘密

本文深入解析DM-VIO技术如何通过延迟边缘化和位姿图BA创新,解决单目视觉惯性里程计(VIO)的尺度不可观性问题,并在精度上超越传统双目系统。文章详细介绍了延迟边缘化的双因子图结构设计、位姿图BA的多级初始化策略,以及系统级优化带来的性能提升,为VIO研究与实践提供了重要参考。

weixin_30616969的博客 427

Eclipse Mosquitto 1.0.1 版本解析:Windows 服务 log_dest 默认值与 Python on_log() 回调修复的源码级解读

Mosquitto 1.0.1 是 2012 年 8 月 15 日发布的纯缺陷修复版本,紧随引入 SSL/TLS 支持的重大版本 1.0 之后。本篇以官方发布说明 [www/posts/2012/08/version-1-0-1-released.md](https://link.gitcode.com/i/d227b948969a8cd457700f7d337eb35f) 为主体,逐项拆解其五类

gitblog_09795的博客 481

IEC 104电力规约详细解读(一) - 报文结构、报文分类、ASDU

比如,双方可以按频率发送,比如接收8帧I帧回答一帧S帧,也可以要求接收1帧I帧就应答1帧S帧,当然也可以不要求(S帧内容示例参考例1)。所以U帧格式的控制欲第一个字节就只有6种情况,分别是0x83(TESTER确认)、0x43(TESTER命令)、0x23(STOPDT确认)、0x13(STOPDT命令)、0x0B(START确认)、0x07(START命令)ASDU(应用服务数据单元),协议原文格式最好去101协议去看看,会比较详细。遥信、遥测、遥控、遥调、总召、对时等都需要使用I格式传送。

张二狗的博客 1万+

【模型实战】MiMo-VL-7B讲解与实战

维度成绩MMMU70.6(图像理解最难测试之一)VideoMME70.8(视频理解标杆)59.4(超越78B参数模型)56.1(超过专用GUI模型)Elo评分开源VLM排名第一(7B~72B)社区热度过去一个月下载超1,600次(RL+SFT)📌一句话概括MiMo-VL 是目前性能最强、推理最稳、体验最佳、生态最全的7B级开源视觉语言模型。

m0_47867638的博客 1198

android jni之找不到utils/Log.h解决(一百四十六)

【代码】android jni之找不到utils/Log.h解决。

Android系统攻城狮 291

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

UE5.2源码编译与Android打包实战:从环境配置到真机调试

在游戏开发与高性能图形应用领域,源码编译是深入理解引擎架构、实现深度定制和跨平台部署的核心技术环节。其原理在于通过完整的工具链(如编译器、链接器、平台SDK)将高级语言代码转换为目标平台可执行文件,从而获得对渲染管线、内存管理及第三方库集成的完全控制权。这一过程的技术价值在于赋能开发者进行底层性能优化、精准问题诊断以及针对特定硬件(如移动设备)的定制开发。尤其在Android等碎片化严重的移动平台,源码编译是解决平台兼容性、性能瓶颈和疑难崩溃的唯一可靠途径。本文基于UE5.2、VS2022和Android平

dianchamian8747的博客 681

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Android Studio + CMake 编译 MediaPipe Tasks 源码实战指南

MediaPipe Tasks 是 Google 提供的轻量级端侧 AI 任务 SDK,其核心能力依赖于 Java/Kotlin 封装层与 native C++ 实现的深度协同。传统上它绑定 Bazel 构建系统,但对 Android 开发者而言,Bazel 带来陡峭学习成本、IDE 支持薄弱及调试困难等问题。转向 Android Studio 与 CMake 的组合,本质是回归 Android 原生构建范式:利用 Gradle 管理 Java 层与打包流程,CMake 专注高效、可调试的 native 库

weixin_29172201的博客 45

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

上一篇: android framework项目开发案例-动态隐藏Launcher上图标2
下一篇: Android源码中学习JNI那些事--关键技巧
千里马学框架
博客等级 码龄6年 1万+粉丝 650原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千里马学框架

帮助你了,就请我喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值