![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android p系统架构
sunxiaolin2016
只争朝夕
展开
-
Android P中判断网卡接口是否存在
参考文章:https://docs.oracle.com/cd/E19620-01/805-4041/6j3r8iu2l/index.htmlhttps://www.gnu.org/software/libc/manual/html_node/Communication-Styles.html#define NET_NAME "vnet0"int check_nic() { struct ifreq ifr; int skfd = socket(AF_INET, SOCK_D原创 2020-12-18 15:42:53 · 739 阅读 · 0 评论 -
使用repo和git上传代码的两种方式
repo1、确认本地分支//查看当前目录下的本地分支repo branch2、如果没有本地分支,需要新建本地分支//给当前目录新建一个名字叫做sunxiaolin_bt的本地分支repo start sunxiaolin_bt //给所有目录新建一个名字叫做sunxiaolin_bt的本地分支 repo start sunxiaolin_bt --all3、修改代码提交后,上传代码 //上传代码到远程分支 repo uploadgit1、确认本地分支//查看当前的本地分原创 2020-12-17 16:41:45 · 5873 阅读 · 1 评论 -
ip命令和ip-wrapper-1.0用法
参考资料:https://ss64.com/bash/ip.html1、ip命令用法 ip link show vnet0 显示网卡vnet0网络接口配置信息 ip link show 显示所有网卡网络接口配置信息 ip link show up 只显示激活状态(running)下的网络接口信息。同命令(ip link ls up)2、Android中ip-wrapper-1.0的用法ip-wrapper-1.0的功能同ip命令功能。安卓将网络堆栈工具(ip、iptables、ip原创 2020-12-16 11:14:24 · 777 阅读 · 0 评论 -
ifconfig网络配置信息解析
ifconfig命令:查看激活状态的网络接口情况。wlan0 Link encap:Ethernet HWaddr 2c:4c:c6:b4:11:d3 Driver bcmsdh_sdmmc inet addr:10.75.100.69 Bcast:10.75.100.255 Mask:255.255.255.0 inet6 addr: fe80::2e4c:c6ff:feb4:11d3/64 Scope: Link UP BR原创 2020-12-16 11:00:08 · 3387 阅读 · 0 评论 -
Android P系统服务接口调用原理
1、调用系统服务方式通过以下方式获取StorageManager的实例对象,通过StorageManager调用系统存储服务。StorageManager是系统存储服务的接口。getVolumes()可返回系统上可用卷的集合,例如USB设备。StorageManager storageManager = (StorageManager) context.getSystemService(Context.STORAGE_SERVICE);List<VolumeInfo> volInfoL原创 2020-12-04 16:21:08 · 272 阅读 · 0 评论 -
Android P注册系统服务
以HsaeAudioManager为例,底层服务提供API给应用层使用.1、定义AIDL接口\vendor\hsae\frameworks\base\core\java\com\hsae\audio\IHsaeAudioManager.aidl// IHsaeAudioManager.aidlpackage com.hsae.audio;// Declare any non-default types here with import statementsimport com.hsae.aud原创 2020-12-03 20:25:24 · 230 阅读 · 0 评论 -
Android P系统启动时间优化
1、services/core/java/com/android/server/policy/PhoneWindowManager.java @Override public boolean canDismissBootAnimation() { /*synchronized (mLock) { return mKeyguardDrawComplete; }*/ return true; }2、service原创 2020-12-01 17:59:53 · 584 阅读 · 0 评论 -
Android adb命令设置和获取系统音量
1、查看audio的全部信息(各音频流音量,焦点,策略等) dumpsys audio2、设置音量并且显示音量UI //stream 3表示多媒体,10表示音量值 media volume --show --stream 3 --set 103、音量调大调小 media volume --stream 3 --adj raise media volume --stream 0 --adj lower media volume --show --stream 3 --adj raise原创 2020-09-28 10:25:45 · 10737 阅读 · 1 评论 -
添加Selinux权限
遇到一个selinux权限报错问题。报错信息如下:2037-12-25 00:36:12.244 2362-2362/? E/SELinux: avc: denied { find } for service=media.metrics pid=3713 uid=1002 scontext=u:r:bluetooth:s0 tcontext=u:object_r:mediametrics_service:s0 tclass=service_manager permissive=0发现system/原创 2020-08-26 19:41:04 · 1089 阅读 · 2 评论 -
监听CPU和内存占用率脚本
监听cpu占用率和内存使用率,监听GPU占用率。内存占用率打印保存在文件cpumem中CPU占用率打印保存在文件cputop中GOU占用率打印保存在文件gputop中set PATH=%cd%;%PATH%;@echo offadb root::adb remountset startstr = "**********************"set endstr = "**********************"set date = "datetime:":starte原创 2020-08-01 14:45:34 · 847 阅读 · 0 评论 -
Android P按键静音流程
今天跟了一下Android系统按键静音的流程,Android实现了在系统层面静音。输出给底层的音量为0db。按键使用注入按键方式实现,静音按键值:public static final int KEYCODE_VOLUME_MUTE = 164;注入方式:KeyEvent k = new KeyEvent(KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_VOLUME_MUTE);InputManager.getInstance().injectInputEve原创 2020-06-23 15:33:08 · 1389 阅读 · 0 评论 -
Android P签名机制和系统权限
系统中签名Key:mediaplatformsharedtestkey签名Key存放的路径为build\target\product\security:media.pk8和media.x509.pemplatform.pk8和platform.x509.pemshared.pk8和shared.x509.pemtestkey.pk8和testkey.x509.pem该目录下的verity*文件:verity.pk8,用于签署boot.img和system.img的私钥ver原创 2020-06-15 15:40:59 · 2515 阅读 · 2 评论 -
Android P系统广播使用规范
Android O系统之后,Android系统对于广播的使用进行了限制,目的是避免广播滥用造成系统资源短缺,内存抖动和耗电等问题。总之,大量的广播使用不仅耗电,还会影响系统性能。关于大量发送广播为啥会耗电,大量app注册了静态广播(Manifest注册),当系统发送一个广播时,会唤醒多个app,需要启动app去接收广播,但是没有足够的内存让所有的app进行在缓存中处理,即内存有限,启动一个app后又kill掉另一个app进程。系统会在各个app进程之间跳动。Android P的限制:1.警告信息:原创 2020-06-15 10:48:14 · 1029 阅读 · 0 评论 -
mk文件中配置lib arm64 文件夹
使用 android:sharedUserId="android.uid.system"后,有时候需要配置lib arm64 文件夹。$(shell mkdir -p (PRODUCTOUT)/system/app/(PRODUCT_OUT)/system/app/(PRODUCTOUT)/system/app/(LOCAL_PACKAGE_NAME)/lib/arm64)例如://...include $(BUILD_PREBUILT)include $(CLEAR_VARS)LOCAL_原创 2020-06-12 18:24:08 · 1312 阅读 · 0 评论 -
Android P Camera架构
一、APP层打开摄像头:openCamera();二、frameworks层:CameraManager:代码路径:\frameworks\base\core\java\android\hardware\camera2\CameraManager.javaprivate CameraDevice openCameraDeviceUserAsync(String cameraId, ...原创 2019-05-06 14:09:54 · 3216 阅读 · 0 评论 -
Android P Auto版本Home画面解析
一、Auto版简介从Android O系统后,安卓发布了针对车机的Auto版本系统。比较Android P的的Auto比起Android O来说,更加成熟,逻辑功能更加完善。Auto系统启动后第一页是用户界面:选择用户后,进入Home画面:二、Auto版SystemUI分析Auto版本的导航栏和抬头栏也是在SystemUI中实现的。1.加载SystemBar代码路径:frame...原创 2019-06-11 17:25:18 · 2450 阅读 · 0 评论 -
Android P图形架构之实现双屏异显
Android支持双屏异显。第一种方式,通过adb命令将app启动在第二块屏幕上:adb shell am start -n com.android.demo/com.android.demo.MainActivity --display 1在am start命令后面增加–display 1display 1,表示显示在第二块屏上;display 0,表示第一块屏幕;第二种方式,通过P...原创 2019-07-09 15:27:04 · 7433 阅读 · 0 评论 -
Android P Auto版本evs_app解析之二:evs_app启动和运行
最近在调试Android Auto版本的evs_app程序。evs_app相关参考:《Android P Auto版本evs_app解析之一:evs_app代码架构和通信机制》《Android P Auto版本evs_app解析之二:evs_app启动和运行》一、检查摄像头设备驱动层生成的摄像头设备节点在dev下面查看。adb进入系统目录dev下,ls -l查看摄像头;生成的摄像头为:...原创 2019-06-28 17:45:49 · 3733 阅读 · 1 评论 -
Android线程池简介和基本应用
为什么使用线程池?1.线程的创建和销毁由线程池维护,节约系统的开销;2.执行大量异步任务时,线程池可以提高性能;3.控制线程最大并发数,线程的定时任务和单线程的执行任务。Android线程池框架结构主要包括3个部分:1.任务:需要实现的接口类:Runnable或Callable2.任务的执行器:核心接口类Executor3.执行器的创建者:工厂类Executors(包括ThreadP...原创 2019-07-05 15:57:25 · 436 阅读 · 0 评论 -
Android P系统输出图像镜像翻转实现
特殊需求,对Android的输出图像做镜像翻转。Screen convert翻转x修改源码:frameworks/native/services/surfaceflinger/RenderEngine/ProgramCache.cpp String8 ProgramCache::generateVertexShader(const Key& needs) { Form...原创 2019-09-04 13:52:25 · 1241 阅读 · 2 评论 -
Android P的系统架构
在分析Android的音频结构之前,我们先来简单了解一下Android的整个系统架构。一、Android的系统架构图1.APP层应用程序层,该层配备了一套核心应用程序,例如电子邮件、短信、日历、互联网浏览、联系人等等。包括在平台上的应用程序在用户选择安装的应用程序中没有特殊的状态。因此,第三方应用程序可以成为用户默认的Web浏览器、SMS,甚至是默认的键盘(一些例外适用,例如系统的设置ap...原创 2019-04-14 21:20:29 · 2700 阅读 · 0 评论