- 博客(106)
- 资源 (1)
- 收藏
- 关注
原创 AOSP Launcher3学习
AOSP Launcher3 是 Android 系统的默认桌面启动器,负责管理主屏幕、应用列表、任务视图等核心功能。
2026-03-06 16:36:47
573
原创 Android15 ContentProvider 深度源码分析(下)
本文对Android15中的contentprovider 源码的深度分析
2026-02-25 17:58:52
1054
原创 Android15 ContentProvider 深度源码分析(上)
本文对Android ContentProvider进行了深度源码分析,重点研究了其核心实现机制和架构设计。ContentProvider作为Android四大组件之一,提供了跨进程数据共享的标准接口。
2026-02-25 17:55:12
1108
1
原创 Android 15 Lock Task 模式深度分析(第一部分)
Android 15 Lock Task 模式分析摘要 Lock Task模式是Android 5.0引入的任务锁定机制,主要用于企业环境和专用设备场景。
2026-02-22 10:34:11
1015
原创 Android 15 Lock Task 模式深度分析(第二部分)
本文分析了Android 15的Lock Task模式企业管理配置,重点介绍了DeviceOwner/ProfileOwner如何通过DevicePolicyManager进行配置。
2026-02-22 10:25:24
1225
原创 Android 15 Service 源码解析
Android 15 Service 源码解析,基于AOSP Android 15源码,深入分析Service组件的实现机制。
2026-02-14 12:57:40
1249
原创 AOSP15 Activity 启动流程源码分析(上)
本文基于 Android 15 源码深度分析 Activity 启动流程,涵盖从应用进程到系统服务的完整链路。展示跨进程协作的核心组件分布,包括应用进程、System Server 和 Zygote 三大部分。 核心组件:重点解析 ATMS(ActivityTaskManagerService)的职责,包括 Activity 启动处理、Task 管理、权限检查等关键功能,核心源码位置和关键方法说明
2026-02-13 18:22:21
773
原创 AOSP15 Activity 启动流程源码分析(下)
本文基于Android 15源码深入分析Activity启动流程,涵盖冷/热启动、多窗口等场景。核心组件分布在应用进程、System Server和Zygote进程中: 详细介绍了ATMS、ActivityStarter、WMS等核心组件的职责划分和交互关系,通过架构图展示组件间的协作流程。 组件详解:重点分析ActivityTaskManagerService(ATMS)的核心职责,包括Activity启动处理、Task管理、权限检查等,关键源码位置和核心方法。
2026-02-13 18:04:57
622
原创 Android 15 AOSP Notification分析
Android 15 AOSP 通知系统架构摘要: Android通知系统采用多层架构设计,包含应用层、Framework层和SystemUI层。核心组件NotificationManagerService(NMS)负责通知生命周期管理,通过Binder IPC与应用层NotificationManager交互。系统包含NotificationRecord、RankingHelper、GroupHelper等关键类,实现通知排序、分组等功能。数据流从应用发起通知请求开始,经过权限检查、信号提取、排序处理后,
2026-02-13 13:45:56
3304
原创 家用移动版蓝牙开关
卧室的灯有两个开关,一个在门口,一个在床头,但是床头的开光在床的另一侧,使用起来很不方便,每次躺床上想关灯,还需要滚到床的另一侧去按开光,之后我就在想要是有一个自由移动的无线开关多好,直接放床头,我手一伸一按就关掉灯了,多好。后面有突然萌生了第二个想法,为啥我不直接改造开关呢。直接把现有的一个固定开关增加一个蓝牙控制器,通过移动的蓝牙小开关控制开关的开关,不也能实现灯的亮灭嘛,只需要改造开关,还可以给开关增加插口,一举多得,这个想法就很好实现了,先记录着,慢慢折腾吧,说不好,很快又有了更好的想法呢。
2025-06-21 10:18:45
267
原创 安装APK提示Failure [INSTALL_FAILED_INVALID_APK: Failed to extract native libraries, res=-2]
关于Android打包android:extractNativeLibs的属性配置
2022-09-23 22:54:47
9954
1
原创 Android 原生集成React Native实现RN 模块的热更新方案
Android原生中集成React Native模块,实现模块的热更新方案Android加载react native模块,模块的bundle存放目录,可以是assets中,但assets是只读目录,要实现RN模块的热更新,目录必须是可读可写,所以,我们需要将assets中的bundle复制到不需要存储权限的cache目录下面,RN记载的时候统一从cache目录里面读取bundle文件...
2019-12-24 11:47:57
1017
1
原创 Android系统控件使用的踩坑日志
1、ListView在乐视,三星手机上出现崩溃/** * 修复listview在部分手机上崩溃 * java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0 * at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:257) * at...
2019-03-20 19:21:16
501
原创 Android FileProvider详细解析和踩坑指南
详细梳理一下android的文件系统,以及做一下FileProvider的解析。
2018-12-07 14:29:46
148573
11
原创 android手机刷机后,wifi无法使用的解决方法
为了尝鲜android 9.0,将nexus 6p刷到9.0,刷成功之后,wifi无法使用了。查阅资料,找到解决办法就是,刷入boot.img第一步:找到boot.img文件,boot.img文件在你下载的刷机压缩包中,你只需要解压压缩包,复制boot.img文件第二步:进入fastboot模式,使用adb目录下的fastboot命令,使用命令fastboot flash boot boot...
2018-10-12 19:48:30
31491
5
原创 Android App兼容8.0和9.0
Android在8.0限制了后台服务这些,启动后台服务需要设置通知栏,使服务变成前台服务。但是在9.0上,就会出现Permission Denial: startForeground requires android.permission.FOREGROUND_SERVICE。解决办法是在AndroidManifest中添加 <!--android 9.0上使用前台服务,需要添加权...
2018-10-12 19:26:14
21662
3
原创 TextInputEditText在魅族手机上引起的NullPointException
disign.widget包提供了TextInputLayout挺好用的,一般都是搭配TextInputEditText来实现,错误提示,hint提示这些,使用很方便。但是在魅族手机上导致了崩溃(机型android 7.0 魅族5),追踪日志是调用 getLineForOffset()抛异常了。java.lang.NullPointerException: Attempt to invoke ...
2018-10-10 10:36:13
1661
原创 Volley支持HTTP/2
volley暂时是不支持HTTP/2的,这是官方的解释Does volley Support HTTP/2 不过volley设计的扩展性特别好,volley提供的接口HttpStack,可以自己去实现来支持HTTP/2。在Android上,从4.4以后系统就已经支持HTTP/2,但是不稳定,有bug,直到Android5.0才修复bug。第三方库中,有OkHttp 是已经支持了HTTP/2,所以...
2018-08-31 10:01:23
695
原创 经纬度和高德地图计算两点距离面积
关于经纬度,可以看huanhuan的博客根据两点经纬度计算距离 文章详细介绍了经纬度以及根据经纬度,计算两点直接的距离。 高德地图中,计算两点直线距离的公式如下://根据经纬度获取两点距离 public static int calculateDistance(double x1, double y1, double x2, double y2) { final d...
2018-08-30 15:38:56
5402
原创 读者写者问题、ReentrantReadWriteLock、哲学家就餐问题
先记录一下,陈硕博主使用条件变量实现事件等待器的正确和错误的做法 多线程处理时,不可避免要处理对共享数据的读写问题。 1、读者写者问题就很经典,可以看维基百科Readers–writers problem,文章中写了四种读者写者问题,以及饥渴现象。另外也介绍了读写锁Readers–writer lock 2、github的SystemProgramming编程part7Synchroniza...
2018-08-22 15:32:27
502
原创 解决android4.4的bug NoSuchMethodException View.onClick
Android 4.4版本 xml中的onClick属性不兼容support库。用户反馈崩溃,用自己手机测试没有问题,在优测上找了一台相同版本的手机测试,还真找到了问题,View.onClick方法抛NoSuchMethod方法,当时就很奇怪,怎么会找不到onClick方法呢,我又去看了bugly上面的这个方法,搜索出来,全是android 4.4的手机。 我仔细检查代码,崩溃的地方时使用了...
2018-08-07 10:12:35
741
原创 Android App更新
对于Android开发者而言,App应用内更新是不可避免的,强制更新和非强制更新也不相同。本文记录使用系统 自带的DownloadManager来实现App的普通更新和强制更新。DownloadManager已经帮我们处理好了网络和 通知栏的事情,我们只需要指定下载路径,指定通知栏样式和显示策略。DownloadManager.Request request = new DownloadM...
2018-07-16 11:35:59
657
原创 android使用speex进行语音录制和压缩
JNI调用speex 使用cmake编译so库 参考文章audio-speex记录一下,方便自己查阅。—————————–感谢前辈——————————–
2018-07-09 20:52:19
2064
1
原创 记录windows网络和adb的一些命令
很久没写博客了,主要是工作上忙着没什么时间。 今天写一些windows的网络命令和adb操作Android手机的一些命令。 前几天windows10自动升级了,之后就不能上网了,qq登录就提示防火墙问题,搜索之后,发现需要重置网络,网络就正常了。cmd命令:netsh winsock reset 之后,就学习了一下,windows 端口查看命令。 netstat
2018-01-30 15:26:05
1129
原创 记录Android基础的样式、动画
一、shape 使用shape可以给view设置背景,调整样式,Android提供了4种,矩形(rectangle)、椭圆(oval)、线(line)、环(ring),使用xml实现不同的shape。可配置的属性很多,具体参考文章ANDROID样式的开发:SHAPE篇,讲解的很详细。 二、Android 动画 这里主要记录补间动画,通过xml来实现动画translation。
2017-12-12 17:12:08
400
原创 gitlab和github使用ssh方式拉取代码的配置
本篇文章基于windows系统公司项目使用gitlab做项目代码托管,平常pull和push代码基本都是使用http的方式,这种方式每次都需要输入用户名和密码,其实也没什么,只是有时候需要拉取很多份代码的时候,就显得很繁琐。后面我就尝试使用ssh的方式拉取代码。使用ssh需要先配置ssh key,下面文章就介绍如何配置ssh key。 第一步:获取ssh key 1. 我使用乌龟
2017-10-10 11:36:16
8640
原创 windows上安装mysql踩过的坑
在mysql官网下载解压版mysql下载地址,下载完了解压出来,找个目录放着。 我的是mysql-5.7.19,打开解压后的目录,将bin目录添加到环境变量paths中。在mysql根目录中看看有没有my-default.ini文件,如果有就复制一份,重命名为my.ini,如果没有,就新建一个my.ini的文件,注意:请不要通过重命名windows自带的txt文件的方式来新建my.ini文件,因为w
2017-09-12 10:54:07
667
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅