- 博客(7)
- 收藏
- 关注
原创 Android如何快速打印出Log.d和Log.v相关的信息
Telecom模块中存在很多Log.d和Log.v相关的信息,这些Log在测试提供或我们平时抓的Log文件中都不会打印出来。所以之前只能手动将Log.d/Log.v变为Log.i重新编译APK再提供给测试接Log。今天学到了一招,在手机连接到PC后输入一条命令重启后,可以打印所有Telecom中Log.d和Log.v相关的信息。命令如下:adb rootadb remoun...
2020-04-12 11:16:12
957
原创 如何在一个界面中快速得到每个控件的Resource ID
在Android开发中时常会碰到需要定位到某个控件的资源ID的需求。比如有些bug中,某个控件显示的信息不对;某个控件显示的位置不对等等。 我们在看到一个界面时,需要找到这个控件的资源ID后再分析相关的代码。之前有种方法就是按照字符串去搜索这个资源ID名,比如通话界 面中的"通话录音","添加通话","静音"等字符串,我们就可以通过这种方式来找到它们对应的资源ID。但是比如我拨打一个10...
2020-03-27 17:56:20
1470
原创 Android系统Java层通过打印excption查看堆栈信息
之前我们有时会通过阅读代码查看某个函数从下到上的调用信息,也有时bug中会多出来一个操作,不知道这个操作是由哪里发出来的。基于以上这些问题,我们可以通过打印excption查看堆栈信息。具体操作如下:比如有个客户bug,在通话中按下键后,通话突然挂断了。这种问题一看就是客户改出来的,我们又不能通过log很好的看到到底哪里触发的disconnectCall。这种情况下就可以使用这...
2020-03-20 16:26:08
299
原创 C/C++统计内存泄漏问题和代码覆盖率的方法
1.C/C++统计内存泄漏问题对于查找代码中存在的内存泄漏问题,我们可以使用valgrind工具来检查是否存在内存泄漏问题。比如下面的程序,在堆空间分配20个字节后,程序结束以前并没有释放掉这部分内存。#include <stdio.h>#include <stdlib.h>#include <string.h>int main(int arg...
2020-03-17 18:05:54
1005
1
原创 Google在androidQ中重构startOutgoingCall设计
昨天研究了一下android Q中的startOutgoingCall,这部分代码相比android9.0变动很大。在android Q中主要使用了CompletableFuture的异步调用,所谓异步调用是指无需等待被调用函数的返回值而让操作继续执行的方法。对于 startOutgoingCall中存在一些需要通过外部获取信息的操作(比如获取联系人的相关信息ContactsInfo),为了防止这...
2019-04-25 14:13:36
509
原创 oFono学习笔记(一):oFono中增加消息与接口
oFono是一个开源免费的电话协议栈软件,它遵循3GPP27.007等通信标准,通过AT命令与modem进行交互,以实现各种电话功能(Voicecall, GPRS, SMS, Stk等等)。由于在oFono之中没有完全实现TS 27.007的AT指令,所以在开发之中我们会遇到将一些功能加入到oFono系统之中。一、在oFono中增加消息监听(以SRVCC为例说明):关于oFono中的...
2019-03-28 15:00:35
4602
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人