android10.0专题

Android10.0(Q) 网络自动校时bug修改

问题现象 联网后系统时间依旧显示不对,和系统校时服务器有关系,之前低版本也修改过这个问题来着 修改方法 和之前低版本比对发现,以前的 NetworkTimeUpdateService 已经更名为 NewNetworkTimeUpdateService,而且代码变动不小,根据之前修改问题不大。 frameworks/base/services/core/java/com/android/se

Android10.0(Q) HAL层 light2.0 改动记录及排错过程

LightsService 灯光服务提供了LCD背光灯、键盘灯、按键灯、警示灯、电池灯、 消息通知灯、蓝牙灯、wifi灯等八种类型灯光;都是基于 android.hardware.light.V2_0.Type 现有需求需要新增第九中类型灯光控制,找到定义 Type 的地方 hardware\interfaces\light\2.0\types.hal /*** These light I

RK3326 android10.0(Q) 预装APP可卸载不恢复补丁

问题原因 参照之前8.1的方案,直接在 device/rockchip/rk3326/ 对应文件中放置apk,发现编译后并未打包到系统中 经过搜索发现 device.mk 中对应的编译项已经被注释了,因为 Q 版本无法动态获取编译变量,所以需要手动指定位置 # Prebuild apps#ifneq ($(strip $(TARGET_PRODUCT)), )# TARGET_DE

android10.0(Q) android11(R) 时区相关问题

一、默认关闭自动更新时区 将自动更新时区开关 def_auto_time_zone 的值设置为 false。 文件路径:platform/frameworks/base/packages/SettingsProvider/res/values/defaults.xml 二、自动更新时区打开,设置默认时区不生效问题 当你 persist.sys.timezone 配置了这个没用,那可能和设备

Android7.0+ 、Android8.0+Android9.0+、Android10.0+安装指定apk、下载后的apk方法

前言:你的apk文件即使有文件读取权限,若想安装下载后的app,我们需要将apk文件暴露给系统安装进程 apk安装所需权限 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.WRITE_EXTER

Android10.0-切换USB用途流程-未完待续

插入USB,下拉状态栏切换USB用途流程-未完待续 packages/apps/Settings/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsController.java 45    static { 46        FUNCTIONS_MAP.put(UsbManager.FUNCTION_MTP, R

Android10.0-多用户切换流程源码分析

多用户切换流程   切换新用户Settings应用流程: 代码路径:packages/apps/Settings/src/com/android/settings/users/UserSettings.java 1.多用户下点击事件 public boolean onPreferenceClick(

Android10.0应用安装白名单---添加签名校验

背景 为了避免系统被安装上各种各样的app,客户要求系统需要有个安装白名单的功能。 文章目录 背景思路Android应用签名apk安装白名单进行签名校验获取apk签名的证书指纹android源码中获取证书指纹签名校验 结语微信公众号 思路 白名单功能主要是通过确认要安装的应用是否在白名单上,如果不在,则不允许安装。筛选的标准可以通过包名进行判断。但单纯包名进行判断还是不够安全,

基于Android10.0适配应用界面--修改系统源码

前言 原始的需求是这样的,客户会在系统中预装多个应用,但某些应用是没有经过适配的,客户要求的像素密度是160,但某些应用在该像素密度下显示会显得很小。客户不想改应用,要求在该160的像素密度下,也要能够正常显示应用。 思路 思路一 动态切换像素密度(糟糕的思路) 初期是通过adb shell指令进行切换测试的。经测试,这些在160像素密度下显示异常的应用,在320的像素密度下,则能显示正常

堆栈打印跟踪Activity的启动过程(基于Android10.0.0-r41),framework修改,去除第三方app的倒计时页面

文章目录 堆栈打印跟踪Activity的启动过程(基于Android10.0.0-r41),framework修改,去除第三方app的倒计时页面1.打印异常堆栈2.去除第三方app的倒计时页面3.模拟点击事件跳过首页进入主页 堆栈打印跟踪Activity的启动过程(基于Android10.0.0-r41),framework修改,去除第三方app的倒计时页面 1.打印异常堆栈

适配Android10.0+出现的问题及解决(不断迭代)

项目适配Android9.0+出现的问题及解决 关于Java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/conn/scheme/SchemeRegistryThe user 10154 does not meet the requirements to access device identifiers

MT5G芯片天玑800/MTK6873/MT6873WiFi6+Android10.0 NSA和SA双模5G核心板

MTK5G-MT6873+wifi6+android10.0 NSA和SA双模5G核心板/MTK5G方案定制 1.MT6873,八核(4xA76+4xA55)支持Sub-6GHz频段的NSA和SA双模5G 2.支持最大分辨率 FHD+(2160x1080);电容式触控屏Incell  3.WiFi 6(2x2 801.11 ax) 双天线 4.Type-C(HDMI)快充,5V2A,4.4V,OT

编译环境初始化-Android10.0编译系统(二)

[Android取经之路] 的源码都基于Android-Q(10.0) 进行分析 [Android取经之路] 系列文章: 《系统启动篇》 Android系统架构Android是怎么启动的Android 10.0系统启动之init进程Android10.0系统启动之Zygote进程Android 10.0 系统启动之SystemServer进程Android 10.0 系统服务之Activit

Android10.0 SystemUI 下拉通知栏去掉左右滑动菜单

1.前言 在10.0的系统产品定制化开发中,在systemui的下拉状态栏部分,包括qspanel部分和通知栏部分,而在下拉通知栏的相关事件中, 通知栏左滑右滑都可以设置按钮等 来跳转到系统设置页面,所以产品开发需要,要求去掉通知栏通知左右滑动显示系统设置图标功能 禁止进入到系统设置页面,接下来就来去掉这个功能 2.SystemUI 下拉通知栏去掉左右滑动菜单的核心类 frameworks/

Android10.0 系统关于安兔兔显示信息的修改

1.前言 在10.0的系统定制化开发中,在一些产品开发中,对于安兔兔等第三方检测工具,检测不出某些版本的内核信息等,显示0GB等问题的相关修改,由于不知道安兔兔的检测方式,所以就需要来修改 关于文本上的一些信息了 2.系统关于安兔兔显示信息的修改的核心类 frameworks/base/core/java/android/widget/TextView.java 3.系统关于安兔兔显示信息

分析Android Framework源码--彻底了解Android AudioFocus机制,肯定有你不知道的知识点(基于Android10.0)

一.引言 今天我们来说说Android Audio系统中一套十分重要的机制-AudioFocus机制。AudioFoucs机制的设计主要是为了解决每个音源之间播放冲突的问题。系统建议每个音源播放的实例都应该去遵守的规范,但是呢它并不是一个强制需要遵守的规范,做音源的app的童鞋还是有必要了解下这个机制呢,下面呢让我们从源码的角度深度剖析一下AndroidFocus机制。在阅读文章前确保自己对Bi

Realtek蓝牙Android10.0移植结束后的基本测试和常见问题分析

基本测试主要包括配置检查和BT测试两大部分 配置检查:   为了进一步确保 porting 没有问题,在测试之前先确认 fw 以及 config 文件是否存在。   adb shell 到测试平台的根目录,检查测试平台的 vendor/firmware/目录中 rtlxxxx_fw 以及 rtlxxxx_config文件是否存在(xxxx 为 BT Chip 型号)。检查 Release 包中的

第三节-Android10.0 Binder通信原理(三)-ServiceManager篇

1、概述         在Android中,系统提供的服务被包装成一个个系统级service,这些service往往会在设备启动之时添加进Android系统,当某个应用想要调用系统某个服务的功能时,往往是向系统发出请求,调用该服务的外部接口。在上一节我们了解到,这种外部接口,我们通常称之为代理接口,也就是我们要拿到目标服务对应的代理对象。     //TODO     在Android8.0

MacOS下编译android10.0.0源码

关于下载和切换分支的内容可以查看我之前的两篇文章,我下载的是android-10.0.0_2分支的源码,下面讲述编译过程: 1、首先打开终端把路径切换到放置源码的文件夹里,然后运行下面命令: source build/envsetup.sh 2、之后使用lunch命令选择要编译的目标,这个过程可能需要等待一会,之后会出现一个列表,里边罗列的是能够编译的架构源码,我们直接选择序号即可,具体内容