adb shell dumpsys activity activities调用信息分析 在实际开发过程中,需要经常查看activity的调用栈信息,经常用到adb shell dumpsys activity activities这个命令,下面对这个命令做一下简要分析:通过执行上面命令,可以得到类似如下格式的信息:Stack #45: type=standard mode=fullscreenisSleeping=falsemBounds=Rect(0, 0 - 0, 0)...
Android P Activity启动流程 就从 startActivity 开始梳理吧。1.Activity::startActivitypublic void startActivity(Intent intent) { this.startActivity(intent, null);}public void startActivity(Intent intent, @Nullable Bundle options)...
基于android P平台权限管理详解 [TOC]# 一 概述Android 是一个权限分隔的操作系统,在安装应用时,Android 为每个软件包提供唯一的系统标识(Linux 用户 ID 和组 ID)。此 ID 在软件包在该设备上的使用寿命期间保持不变。系统各部分也分隔为不同的标识。Linux 据此将不同的应用以及应用与系统分隔开来。在默认情况下任何应用都没有权限执行对其他应用、操作系统或用户有不利影响的任何操作。这包括读...
binder机制在java层的使用 java层binder架构实际上也是基于c/s架构的,而且其在类的命名上也尽量与native层保持一致,因此可认为java层的binder架构是native层binder架构的一个镜像。## 1 java层的binder架构成员分析 ##-系统定义了一个ibinder接口类及deathrecipient接口-binder类和binderproxy实现了ibinder接口类。其中binde...
Binder机制在Native层的使用 本文通过一个具体的例子来说明Binder机制中Server的启动过程。我们知道,在Android系统中,提供了多媒体播放的功能,这个功能是以服务的形式来提供的。这里,我们就通过分析MediaPlayerService的实现来了解Media Server的启动过程。## MediaServer全面解析 ##首先,看看MediaPlayerService是如何启动的。启动MediaPlayerSe...
Ubuntu与WIndows桌面间切换 天降神器——Synergy0.Synergy真香!家里人有台旧电脑,说是平日里用不着就给我拿去用了,我想平时需要在Windows和Ubuntu之间来回切换,甚是麻烦,就收下了。这下可好,装完Ubuntu,又把开发环境配了一遍以后,问题来了:加个电脑又不像加个屏幕那么简单直白,难不成我要配两把键盘,两个鼠标才能工作???我不同意,绝对不行!功夫不负有心人,还真让我找到了这一个天降神器...
基于Android P版本PKMS详解一 [TOC]# 一 修改记录| 版本 | 修改日期 | 作者 | 修改内容 || :----| ----------| ----- | ------- || v1.0 | 2019.05.09 | 初版 |# 二 概述PackageManagerService (简称 `PKMS`),是 Android 系统中核心服务之一,管理着所有跟 package 相关的工作...
基于Android P版本PKMS详解二 由以上代码可知,`PKMS` 扫描了很多目录,下面列举几个重点说明:✨ /system/framework :该目录中的文件都是系统库,例如:framework.jar、services.jar、framework-res.apk 等。不过 scanDirTracedLI 只扫描 APK 文件,所以 framework-res.apk 是该目录中唯一被扫描的文件。✨ /system/a...
Andrioid Framework中添加系统服务 前言 本文的方法要修改Android源码。我们自定义一个自己的服务,并将其添加到ServiceManager中。步骤 1. 添加一个aidl文件,我将aidl文件添加到这个路径下: frameworks/base/core/java/android/content/dyna/IDynaSystemManager.aidlpackage android.content.dyn
Android N JACK编译器不支持多用户同时编译的解决办法 Android7.0(也就是Android N)上默认使用JACK编译器而不再使用openjdk了,但发现JACK不是很好用,比如最大的一个问题就是,同一台linux服务器上不允许不同用户同时进行andorid7.0的编译,原因就是后面开始编译的用户无法正常启动jack server,而jack server居然不能关闭,虽然JACK文档中有说提供一些宏,只要设置宏为对应的值就可以关闭,但实测发现
android电话状态的监听 实现手机电话状态的监听,主要依靠两个类:TelephoneManger和PhoneStateListener。 TelephonseManger提供了取得手机基本服务的信息的一种方式。因此应用程序可以使用TelephonyManager来探测手机基本服务的情况。应用程序可以注册listener来监听电话状态的改变。我们不能对TelephonyManager进行实例化,只能通过获取服务的形式:
长按电源键中增加重启和飞行模式选项及显示情景模式(静音、震动、响铃) 1.frameworks/base/services/core/java/com/android/server/policy/GlobalActions.javaprivate final class PowerAction extends SinglePressAction implements LongPressAction {.......}//add by zjxpri
Android M版本彻底修改蓝牙wifi名称显示 1.device/generic/common/bluetooth/bdroid_buildcfg.h#define BTM_DEF_LOCAL_NAME "MTN-S810"2.device/mediatek/common/custom.confbluetooth.HostName = MTN-S810wlan.SSID = MTN-S8103.frameworks/op
android四大组件详解 android四大组件分别为activity、service、content provider、broadcast receiver。一、android四大组件详解1、activity(1)一个Activity通常就是一个单独的屏幕(窗口)。(2)Activity之间通过Intent进行通信。(3)android应用中每一个Activity都必须要在An