自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

私房菜

探索是一种乐趣,总结是一种习惯,坚持就是人生!

  • 博客(9)
  • 资源 (6)
  • 收藏
  • 关注

原创 GTS 中testCoreGmsAppsPermissionsWhitelisted fail 详解

来源:https://blog.csdn.net/shift_wwx/article/details/81304574 GTS 中 测试case armeabi-v7a GtsPlacementTestCases 的时候会出现下面的异常,本文总结一下。com.google.android.placement.gts.CoreGmsAppsPrivappPermissionsTest...

2018-07-31 15:43:20 3376

原创 CTS/GTS 常见问题汇总

从log 中可以直接看出问题,应该是对应package 中某些权限是runtime permission,但是该package 的SDK 版本小于23.修改方法就是将其SDK 的版本设为 >= 23 即可。

2018-07-31 15:20:26 5446

原创 GTS 中 testServicesLibHostAppSignedCorrectly fail 详解

来源:https://blog.csdn.net/shift_wwx/article/details/81240876 GTS 测试 armeabi-v7a GtsOsTestCases 的时候会出现两个fail:com.google.android.os.gts.RequiredComponentsTest#testServicesLibHostAppSignedCorrectl...

2018-07-27 17:23:25 1456

原创 Android 中broadcast 发送过程解析

来源:https://blog.csdn.net/shift_wwx/article/details/81227435前言:上一篇博文Android 中broadcast 注册过程解析详细的解析了广播的注册过程,最终AMS 端的mRegisteredReceivers 保存了所有的动态注册进来的广播,并且一一对应ReceiverDispatcher。这一篇接着解析广播的另一...

2018-07-26 22:09:53 7044

原创 Android 中broadcast 注册过程解析

来源:https://blog.csdn.net/shift_wwx/article/details/81223021前言:本文主要解析Android 中广播的注册过程,其中包括动态广播的注册和静态广播的注册。静态广播:一般是在AndroidManifest.xml 中注册,在PMS 会进行解析(详见 android PMS 如何解析 APK)。动态广播:一般通过AMS ...

2018-07-26 17:27:30 2411 1

原创 GTS 中testDefaultGrantsWithRemoteExceptions fail 详解

最近在做GMS 的验证,其中测试case的时候出现了异常,有些注意点这里总结一下。1. framework 中轮询到的app,test 中也要能轮询到,这要求轮询的条件要一样。这个就是问题2 的原因2. framework 中grant 的app 默认runtime permission 在test 中也必须是一样的。这就要求,默认的DefaultPermissionGrantPolicy.java 文件不能多做权限方面的添加,这个就是问题1 的原因。

2018-07-23 19:19:31 7855 16

原创 Android 系统中WatchDog 日志分析

Android 系统中的 WatchDog 详解一文中通过source code详细的分析了 WatchDog 的软件设计原理和监测过程,这一篇结合实例对WatchDog 做进一步的分析。

2018-07-13 14:23:51 6108

原创 Android 系统中的 WatchDog 详解

Watchdog字面上是“看门狗”的意思,有做过嵌入式低层的朋友应该知道,为了防止嵌入式系统MCU里的程序因为干扰而跑飞,专门在MCU里设计了一个定时器电路,叫做看门狗。当MCU正常工作的,每隔一段时间会输出一个信号给看门狗,也就是所谓的喂狗。如果程序跑飞,MCU在规定的时间内没法喂狗,这时看门狗就会直接触发一个reset信号,让CPU重新启动。在Android系统的framework中,设计了一个系统服务Watchdog,它类似于一个软件看门狗,用来保护重要的系统服务。

2018-07-12 20:08:27 21186 1

原创 Android 子线程中更新UI 详解

Android 官方有句话:“The Android UI toolkit is not thread-safe and the view must always be manipulated on the UI thread.”这句话可能会给人误解,认为android 中ui 的操作必须要在UI 线程中进行,但这里通过android 的source code 最终会发现其实通过子线程也是可以做到的,只不过需要了解其中的详细的流程。另外,这里强调的是在子线程中更新UI,而不是通过子线程异步的方式去更

2018-07-12 11:29:40 1242

基于main log 和event log 对内存问题分析脚本

usage: parse-log.py [-h] [-d] [-f] [-k] [-ki] [-p] [-p20] [-s] [-sk] Parse info of am_pss, am_proc_died and lmkd_kill. Name of source files must be: android_main_log android_events_log

2024-08-14

使用VSCode进行linux内核代码开发(一)

gen_compile_commands.py

2024-01-26

Linux内存管理(六十三):ION 内存管理器-system heap

system heap refill

2023-12-15

Android oom-adj 中trim Bservices 优化

在 OomAdjuster.updateAndTrimProcessLocked() 函数中针对 Bservice进行优化

2023-07-19

Android 中app内存回收优化(一):R版本

配合framework 下CachedAppOptimizer 中的关于 proc reclaim 节点的驱动patch。

2023-07-17

mxml 提炼公共接口

使用mxml 库指定一个标准的接口,使用putInt、getInt、putString、getString、putStringArray、getStringArray等。mxml的详解可以参考https://blog.csdn.net/shift_wwx/article/details/99677421

2019-08-16

gcc和g++详解

1、gcc包含的c/c++编译器 gcc、cc、c++、g++ gcc和cc是一样的,c++和g++是一样的,一般c程序就用gcc编译,c++程序就用g++编译 2、gcc的基本用法 gcc test.c这样将编译出一个名为a.out的程序 gcc test.c -o test这样将编译出一个名为test的程序 -o参数用来指定生成程序的名字

2017-10-25

Linux Shell脚本攻略(第2版).pdf

1.1 简介 诸多类Unix操作系统的设计令人惊叹。即便是在数十年后的今天, Unix式的操作系统架构仍是有史以来的最佳设计之一。这种架构最重要的一个特性就是命令行界面或shell。 shell环境使得用户能与操作系统的核心功能进行交互。术语脚本更多涉及的便是这种环境。编写脚本通常使用某种基于解释器的编程语言。而shell脚本不过就是一些文件,我们能将一系列需要执行的命令写入其中,然后通过shell来执行。 本书使用的是Bash(Bourne Again Shell),它是目前大多数GNU/Linux系统默认的shell环境。 鉴于GNU/Linux作为基于Unix式架构最杰出操作系统的地位,书中大部分案例和讨论都假定是在Linux系统环境下进行的。

2017-09-05

Makefile.pdf

什么是 makefile?或许很多 Winodws 的程序员都不知道这个东西,因为那些 Windows 的 IDE 都 为你做了这个工作,但我觉得要作一个好的和 professional 的程序员,makefile 还是要懂 。这就好象现在有这么多的 HTML 的编辑器,但如果你想成为一个专业人士,你还是要了解 HTML 的标识的含义。特别在 Unix 下的软件编译,你就不能不自己写 makefile 了,会不会写 makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。 因为,makefile 关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、 功能、模块分别放在若干个目录中,makefile 定义了一系列的规则来指定,哪些文件需要 先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作, 因为 makefile 就像一个 Shell 脚本一样,其中也可以执行操作系统的命令。

2017-09-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除