自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(97)
  • 资源 (3)
  • 收藏
  • 关注

原创 安卓车机系统adb shell cmd 源码原理分析

这里大家如果学习过跨进程专题应该非常熟悉这个,可以看到最后其实是构造了一个Parcel调用了transact方法进行传递,当transact调用完成后就会到服务端的transact再调用到onShellCommand。然后他就会触发对应服务的onShellCommand方法,这个时候相当于和dumpsys命令非常类似,dumpsys命令是会触发到对应的服务的dump方法。1、解析出cmd命令后面的服务字符,根据这个服务字符去servicemanager寻找对应service,返回对应的BpBinder。

2023-01-14 00:05:35 242

原创 aosp 12/13/lineageos19.1 framework学习编译刷入小米手机,努比亚

hi,学员朋友,大家好!前期一直有同学在问我这边,学习framework需要什么额外设备么?这里其实我一直前期也是给学员说的,如果你是个新手,刚刚开始可以不用,完全可以跟着学习(需要可以找我要优惠q群:422901085),用课程里面的模拟器。哈哈资格模拟器不要钱,也不存在变砖的可能性。

2022-12-25 23:10:37 824 2

原创 clearCallingIdentity与restoreCallingIdentity-千里马framework系统源码实战详解

hi,粉丝朋友大家好:今天带大家来学习一个系统开发过程中大家即“熟悉”又陌生的两个方法,分别是clearCallingIdentity和restoreCallingIdentity,一般他们是成对出现在我们的framework代码中,但大家平时分析源码时候好像并没有在意他的真正作用是什么?为啥在框架代码分析时候可以看到他的大量出现?

2022-10-27 00:20:42 137

原创 Android 12中系统Wallpaper详解1--锁屏透看壁纸和桌面透看壁纸的切换

那么其实我们可以猜测是不是锁屏window会去动态改变自己的FLAG_SHOW_WALLPAPER属性,在有桌面显示时候锁屏的window实际是没有这个属性,在锁屏状态下是有这个属性。先看桌面情况下壁纸,这个情况应该属于我们最为熟悉的,那么就不用多说,大概就是因为桌面Activity的配置主题xml设置一个类似showallpaper的属性既可以,就可以让桌面后面显示壁纸了。这个窗口在系统中有专门类进行他的显示情况,那就我们的WallpaperController类。前面疑惑中就写到正常应该是桌面。

2022-10-24 00:23:59 2358

原创 android 12 framework开发第53节-Activity的reLaunch及onConfigurationChanged android源码分析

今天要给大家分享内容就是我们应用开发时候经常会遇到问题,那就是如果系统一些属性变化了,比如语言,横竖屏幕,深色模式等。就会导致系统当前的TopActivity会进行destory后进行重新create情况。如果不想要reCreate Activity那么我们就需要到AndroidManifest中去声明对应的configChange,这个 时候就会让Activity不重新reCreate,即Activity可以不需要重建,但是Activity就会执行对应回调onConfigurationChanged。

2022-08-21 11:08:09 882 2

原创 Android跨进程通信Client Crash后Server端onDestroy

hi,粉丝朋友大家好!好久没有给大家写blog了,哈哈,这里说声抱歉!实在家里比较忙,今天就来给大家分享一个跨进程专题课中学员问的一个问题,blog就来解答一下这个问题。

2022-07-23 00:51:39 631 1

原创 手把手教你aosp android 12 pixel 解锁oem 编译刷入大全

hi,因为同学们学完了我的课程后,开始想玩一下google的pixel实体机,不想一直玩模拟器了,那么千里马老师今天也在咸鱼上掏了一个pixel 3来给大家展示一下这个google的机子怎么玩,其实我自己本身是有小米的lineage系统在玩,为了满足广大粉丝的好奇心也就自掏腰包买了个pixel玩,下面我们正式开始记录整个pixel 3的刷入自己编译修改的aosp代码:入门课,实战课,跨进程专题,input专题ps需要学习深入framework课程和课程优惠新课程优惠获取请加入qq群:422901085

2022-06-13 23:58:01 3315 6

原创 android 11/12的 framework 框架systemserver源码中的AMS和WMS部分ProtoLog相关log的开放命令

在高版本android源码中,在分析AMS和WMS源码时候经常会看到如下的log打印:这里看着也是个log打印,但是它又不是我们常见的Log.i(“”,“”);或者Slog.i(“”,“”)是可以直接通过logcat命令就可以看到对应的log打印,但是这种ProtoLog类型的log我们发现logcat并不可以直接看到那具体要怎么样才可以看到呢?下面我们就来讲解一下ProtoLog相关的log如果要通过logcat方式查看要怎么操作呢?1、使用wm相关命令这里XXX_TAG要替换成ProtoLog

2022-06-12 22:53:35 818

原创 android P/Q/R/S 9/10/11/12多任务手势动画OverviewInputConsumer情况-第二节

hi,多任务手势分析了OtherActivity的情况,这一节来分析一下在桌面本身就是前台情况下,进入多任务的源码及情况分析。首先来看看原生aosp上多任务的2个过程:[入门课,实战课,跨进程专题,input专题](https://ke.qq.com/course/package/51285?tuin=7d4eb354)ps需要学习深入framework课程和课程优惠新课程优惠获取请加入qq群:422901085(获取demo源码)这个过程就是我们还处于手指底部上划过程,这个还是用个自己绘制的图好展

2022-06-02 23:46:31 488 1

原创 android studio导入android系统源码 development/tools/idegen/idegen.sh执行报错

1、make idegenbuild completed successfully (32 seconds)2、执行 development/tools/idegen/idegen.sh脚本test@test-Lenovo:~/aosp$ development/tools/idegen/idegen.sh find: 'out/target/product/emulator_x86_64/root/d': Permission denied这里大家看到这里Permission denied很

2022-05-16 21:25:07 1102

原创 Ubuntu 16G内存在android系统 10/11/12/13编译 framework时候经常oom内存不足,电脑卡死解决办法stubs-docs-non-updatable metalava

hi粉丝朋友们:在android高版本编译时候经常会遇到framework一个相关任务编译时候经常把内存吃满://frameworks/base:system-api-stubs-docs-non-updatable metalava merged导致oom即内存不足这种,那么怎么解决呢在不加内存条情况下Android手机大厂Framework系统-Input系统专题实战课https://ke.qq.com/course/4963459[入门课,实战课,跨进程专题ps需要学习深入framewo

2022-05-15 09:56:44 1243 3

原创 android framework高级开发-多屏异显触摸Presentation相关实战demo

hi,各位粉丝朋友大家好!近来有同学问到对于安卓的多屏异显相关问题,具体有时间也来给大家做个简单的多屏异显demo其他就不多说了,下面就开干:Android手机大厂Framework系统-Input系统专题实战课https://ke.qq.com/course/4963459[入门课,实战课,跨进程专题ps需要学习深入framework课程和课程优惠新课程优惠获取请加入qq群:422901085(获取demo源码)1、双屏模拟因为手机一般没有两个屏幕,所以这种硬件设备还比较难找,但是and

2022-05-08 23:32:53 890 2

原创 千里马android framework开发解决Accessing hidden method限制,让应用访问隐藏方法(需要可以修改系统源码方案)

hi,粉丝朋友们大家好!今天来给大家分享一下,就是经常大家会做安卓系统开发工作问到一个问题,那就是我如果framework代码中增加了一个方法啥的,但是我又不想公开给第三方应用知道,只想让我系统的应用知道,那该怎么办呢?其实这个时候经常就会用到一个hidden的标签,来代表这个方法是隐藏方法,隐藏方法就是给系统内部用的,意味着第三方app就无法使用。这个其实也很常见,自从android p开始android系统就开始对访问hidden的限制越来越严格,虽然我们网络上有各种奇葩招来逃避不允许调用hidden

2022-04-27 00:29:09 3391 2

原创 Android Framework实战预制packages/apps下应用APK预制使用Android.bp方式

hi粉丝朋友大家好!以前在android framework入门课讲解过第三方应用apk的预制相关内容,那时候是基于Android 8.1的Android.mk,但大家依旧对Android.bp的预制不知道怎么做,所以很多粉丝经常私下问我,干脆这里给大家blog分享,这里我们来使用Android.bp进行预制,因为现在高版本大部分其实都是使用Android.bp,新版本packages/apps下面android 12几乎看不到Android.mk的身影,所以当然我们也需要与时俱进。但是Android.b

2022-04-19 12:07:08 2370

原创 Android Framework实战预制packages/apps下应用源码预制使用Android.bp方式

hi粉丝朋友大家好!上节课也给大家讲解了Android.mk方式我们桌面把Android Studio的gradle过程桌面预制到了系统源码的packages/apps下面,这里我们来使用Android.bp进行预制,因为现在高版本大部分其实都是使用Android.bp,新版本packages/apps下面android 12几乎看不到Android.mk的身影,所以当然我们也需要与时俱进。但是Android.bp相对来说资料较少,不像以前的Android.mk可以继承很多linux的makefile,所

2022-04-19 00:02:07 2229

原创 Android Framework开发之新加一个app源码到packages/apps编译Android.mk配置

hi,粉丝朋友们大家好!近来有朋友反馈在看我的android framework实战开发合集课程时候 (https://download.csdn.net/combo/detail/2202)需要购买可以参考直接找千里马最优惠:https://blog.csdn.net/learnframework/article/details/124086882反馈一个问题,那就是课程确实讲解了怎么预制apk的,但是否可以考虑补充讲解一下如果想增加一个app但是不是apk预制,而是源码增加的方式,即相当于我想把工

2022-04-16 23:13:33 2563

原创 android framework手机系统改机相关知识简单方案

hi粉丝朋友们大家好!近来有些粉丝朋友问我改机相关怎么玩,其实这个我一直觉得有点拿不出台面,害怕大家干坏事。。。哈哈,也许我想多了,我是个程序员技术上研究而已,我自己不干坏事就行。android手机改机其实是一个比较偏门的领域,但是市场需求好像还比较大,比如很多那种群控工作室。1、主流改机方案主要有2种:1.静态改机即这种就和我们手机一样,刷入出厂厂商就有机型等信息,刷入就不可以改变,这种改变的就是 系统机型相关ro类型的prop,需要改变只能重新编译代码修改都以小米5的lineage版本(这

2022-04-15 00:14:18 599

原创 Android系统Input专题源码分析视频课程/千里马Framework/InputDispatcher/InputReader/模拟触摸事件

hi,亲爱粉丝朋友们:在粉丝朋友们强烈的支持下,千里马的Android Framework实战专题系列的-- Input专题课程已经杀青,千里马依旧坚持着,基础与实战结合的宗旨,让大家切身在实战中学习framework相关知识,配合案例实战训练,来进一步巩固相关知识,减低大家学习framework的难度,也提供给大家真正的企业级别开发的framework实战案例。程序员也唯有脚踏实地去跟着千里马老师课程一步步一节节的学习,跟着课程走一遍,每一步自己也去做了,深刻理解了,有问题问老师了,自己才可以算是真正意

2022-04-13 23:00:30 604 1

原创 千里马 android framework之MotionEvent.ACTION_CANCEL怎么产生-讨厌的android触摸面试题

hi,粉丝朋友!大家对于MotionEvent.ACTION_CANCEL这个cancel事件是不是感觉又熟悉又陌生,熟悉是因为经常在onTouch识别触摸事件时候会把它和ACTION_UP放在一块处理,基本停留在字面意思理解为 “”取消“”新课程优惠获取请加入qq群:422901085Android手机大厂Framework系统-Input系统专题实战课[入门课,实战课,跨进程专题ps需要学习深入framework课程和课程优惠ACTION_CANCEL触发场景和原因:customTextV

2022-04-10 22:35:49 1208 1

原创 android framework InputManager模拟触摸事件inject详解实战开发-视频课程笔记

我相信触摸事件注入,即模拟触摸事件绝对是最受我们android开发者喜欢的,想想你程序可以自由的模拟出你的点击事件了,你就完全可以不用在手动了,可以帮你干各种各样的事。但是同学们可能对模拟触摸事件使用及其原理其实并不是非常了解,大部分都可能是基于使用级别的居多,至于使用过程中可能出现的问题,及模拟触摸事件本质上在android系统中的一个原理,其实大部分都不是很清楚,所以本节课就来带大家去深入了解这个模拟触摸事件相关的,这个blog当然只是课程的部分课件截图,需要更清楚认真可以看我的相关视频

2022-04-03 11:05:50 1481 1

原创 android framework开发-Input中触摸圆点与触摸轨迹源码分析

触摸圆点在InputReader阶段进行绘制划线是GlobalMonitor接收后绘制窗口,属于一种应用接收全局事件再绘制行为

2022-04-03 10:36:30 180 1

原创 android Input专题- Q/R/S 10/11/12 InputReader源码分析1

上节课已经讲到了InputReaderThread和InputDispatchThread已经启动了,调用了对应的run方法,这里会导致对应的threadLoop方法执行:native/services/inputflinger/InputReaderBase.cppbool InputReaderThread::threadLoop() { mReader->loopOnce(); return true;}这里会调用到mReader的loopOnce方法,这个方法将是非常

2022-04-03 10:08:45 1299 1

原创 android Input专题- Q/R/S 10/11/12 InputManager源码分析

1、SystemServer中InputManagerService创建与启动base/services/java/com/android/server/SystemServer.java private void startOtherServices() { //省略部分 traceBeginAndSlog("StartInputManagerService"); inputManager = new InputManagerService

2022-04-03 10:06:28 986 1

原创 android多指控制协议详细解答

1.EV_SYN同步事件完,在事件开始或完成会有对应的code:0004:代表一个事件开始(不必要)0005:代表一个事件开始(不必要)SYN_REPORT:代表一个事件的结束 (必要)## 2.EV_ABS事件的一种绝对坐标类型对应code:2.0 ABS_MT_SLOT本质代表者不同手指,它的value代表手指id2.1 ABS_MT_TRACKING_ID

2022-04-03 10:04:39 1004 1

原创 android Input专题-getevent深入分析

hi,本节课我们来讲解一下经常做触摸相关开发同学都必须要掌握的一个命令:getevent下面将通过2个部分来分别讲解1、具体使用方法gemini:/ $ getevent -hUsage: getevent [-t] [-n] [-s switchmask] [-S] [-v [mask]] [-d] [-p] [-i] [-l] [-q] [-c count] [-r] [device] -t: show time stamps -n: don't print newlines

2022-04-03 10:02:06 1574 1

原创 Input专题讲解-简单介绍Input相关课程流程图笔记

基于linux系统的触摸数据流向:InputReader职责图:整体触摸数据流向图:

2022-04-03 10:00:10 187 1

原创 Android input专题--触摸事件中Split相关课程笔记

Android input专题–触摸事件中Split源码分析

2022-04-01 22:17:21 627 1

原创 千里马Android Framework-input系统专题blog目录集合

千里马Android Framework-input系统专题blog目录集合这里将会列出视频课程中所有的可能用的相关资料集合blog链接

2022-04-01 16:30:57 505 1

原创 Android 12 S artifact_path_requirements Offending entries Build failed ckati failed with/ aosp预制apk

粉丝朋友在学习我的课程内置应用时候,发现如果在Android 12 S上预制apk时候发现有编译不过情况,报artifact_path_requirements相关错误入门课,实战课,跨进程专题ps需要学习深入framework课程和课程优惠(可以加我qq:2102309716 优惠购买)具体错误显示如下:build/make/core/artifact_path_requirements.mk:26: warning: build/make/target/product/sdk_phone_

2022-03-17 12:17:49 3188 1

原创 android framework 系统native c/c++源码查看跳转工具-Ubuntu+VScode搭建

hi,粉丝朋友们大家好!因为之前我的入门课程中已经对android系统源码环境进行了讲解!当时我们用的是as进行的,但是as对于我们java文件确实是比较友好的,跳转和修改代码提示等也非常方便。但是对于我们如果是修改native如c/c++相关代码时候,就显得非常不友好了,连基本的样式颜色变化都没有,所以这里我们如果开发native程序比较多,或分析相关代码比较多的话就还是需要找一个比较好的工具进行,其实普遍比较主流的有2种:1、sourceinsight --这个基本做linux kernel相关使用

2022-03-06 00:01:26 848 1

原创 android P/Q/R/S 9/10/11/12多任务手势动画OtherActivityInputConsumer情况-第一节

hi,在androi

2022-02-21 23:59:13 1755 1

原创 android framework开发之广播broadcast源码分析2-千里马

hi,上一节我们主要分析了broadcast的发送部分,本节我们来分析一下接受部分,即一般我们作为一个广播接受者是怎么一步步被AMS发送过来的信息的。一般我们注册成为一个广播监听接受者都是调用Context.java中的如下方法: public abstract Intent registerReceiver(@Nullable BroadcastReceiver receiver, IntentFilter

2022-02-11 00:28:32 1339

原创 android framework开发之广播broadcast源码分析-千里马

hi,粉丝朋友大家好!今天是2-8号,也是我春节第一天正式开工的日子,在这里首先祝大家新的一年技术进步,与千里马共同学习共同进步,共同升职加薪。今天要给大家分享的一个课题是大家都很熟悉的广播。这里将要分为2个部分来对广播进行分析:1、广播发送部分一般我们正常使用发送广播都会有调用一个context的sendBroadcas,方法原型如下: public void sendBroadcast(Intent intent);这里我们一般就是只想要传递一个intent参数既可以,这里调用conte

2022-02-10 00:19:58 1512

原创 Android10Q/11R/12S Service bindService系统源码分析1-千里马framework

背景hi,粉丝朋友们大家好!今天本来是想给大家写一下高级面试问题答案的,题目:如果一个进程自己调用自己的跨进程接口是否会通过binder,但是刚好这部分又要涉及到Service,那么就来给大家刚好源码级别分析一下bindService。首先贴出对应流程图:1、客户端调用bindService源码入门课,实战课,跨进程专题ps需要学习深入framework课程和课程优惠的加我qq:一般我们发起bindService来绑定远程服务Service,调用如下: Intent intent =

2022-01-24 00:41:46 3590

原创 android framework系统源码分析之dumpsys原理分析-千里马带你学framework

adb shell dumpsys activity activities源码详细讲解

2022-01-20 15:07:00 2525

原创 android studio调试debug 系统framework、systemserver方法-千里马带你学framework

hi,粉丝朋友们大家好!近来很多学员在说想要在android系统里面用android studio进行直接调试,针对这个需求其实我以前是确实有尝试的,包括前期破解鸿蒙系统和android关系时候也是有用到的。下面我来给大家介绍一下怎么在android studio调试我们的framework代码:1、首先肯定得搭建好源码的导入android studio,并且可以达到正常跳转的地步,这个部分可以看我之前的blog,或者看我的android framework入门课(可以加我qq:2102309716

2022-01-11 00:14:02 2331

原创 adb shell am stack list命令调试查看ActivityManagerService相关属性详解

hi,学员们大家好,经常在做框架特别是ActivityManagerService模块开发过程中会使用一个命令来查看一些信息辅助我们看到系统目前的Activity的一个情况,主要包括Activity分布的Stack,Task情况。具体效果如下:test@test-Lenovo:~/xiaomi5/frameworks$ adb shell am stack listStack id=4 bounds=[0,0][1080,1920] displayId=0 userId=0 configuration

2022-01-02 12:26:36 2537

原创 学习Android Framework可以做什么?

其实很多新的学员都会问学习Framework后到底在企业里面干什么?具体哪些工作是需要Framework层面进行修改的,市场需求量大不大。这个其实在我的课程第一节就有讲到相关的内容,即为什么要学习framework,具体可以看我的免费试看视频这次我们重点介绍是哪些工作是需要学习 Framework知识,这里主要分为2大块与大家分享:1、市场上所有智能设备终端厂商即入职公司就是一个卖android设备的公司,安卓系统的设备目前有哪些呢2、国内顶级互联网App开发厂商主要业务范围:分析研究Frame

2022-01-01 20:07:51 1689

原创 Handler ,MessageQueue 的Looper中epoll监听的fd

hi,同学们大家好!这些天有学员再群里问起了Handler中有个数据监听相关问题,学员有的认为Handler数据传递是靠流传递,误认为是epoll中监听的fd进行传递的,这个其实有必要更正这个学员的一个观点:1、handler的数据传递完全是在自己进程中,所以完全不需要什么fd的流来传递,就相当于一个全局变量一样,你需要通过什么socket什么来传递数据么,你直接内存变量就可以访问到2、那么学员就有疑问,那么handler looper说是基于epoll检测fd方式,epoll只是来监听回调通知作用,

2021-12-30 15:27:06 2045 1

原创 ubuntu plugin android device/adb shell/error: insufficient permissions for device

在Ubuntu上面进行adb shell时报如下错误:error: insufficient permissions for device这个人家也给了一个google网站给我解决http://developer.android.com/tools/device.html这里我们记录一下怎么解决,方便后期又要百度:1、cd /etc/udev/rules.d/2、 sudo vim 51-android.rules3、加入如下,然后wq保存既可以SUBSYSTEM=="usb", E

2021-12-28 14:21:23 576

新加一个app源码到packages/apps编译Android.mk

Android Framework开发之新加一个app源码到packages/apps编译Android.mk配置 hi,粉丝朋友们大家好! 近来有朋友反馈在看我的android framework实战开发合集课程时候 (https://download.csdn.net/combo/detail/2202) 需要购买可以参考直接找千里马最优惠:https://blog.csdn.net/learnframework/article/details/124086882

2022-04-16

haxm-windows_v7_5_1新版本github.zip

Enable VT-x in your BIOS security settings, ensure that HAXM is installed properly. Try disabling 3rd party security software if the problem still occurs.问的解决方法 原文链接:https://blog.csdn.net/learnframework/article/details/117537868

2021-06-04

Android Framework学习资料,系统开发,Framework开发

Android Framework实战开发资料,讲述为什么要学习Framework,高级开发,可以加入QQ群获取免费视频966916899

2021-05-21

空空如也

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

TA关注的人

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