Framework
文章平均质量分 76
Android高级知识分享官
安卓技术专家
展开
-
安卓车机系统adb shell cmd 源码原理分析
这里大家如果学习过跨进程专题应该非常熟悉这个,可以看到最后其实是构造了一个Parcel调用了transact方法进行传递,当transact调用完成后就会到服务端的transact再调用到onShellCommand。然后他就会触发对应服务的onShellCommand方法,这个时候相当于和dumpsys命令非常类似,dumpsys命令是会触发到对应的服务的dump方法。1、解析出cmd命令后面的服务字符,根据这个服务字符去servicemanager寻找对应service,返回对应的BpBinder。转载 2023-05-05 10:57:56 · 354 阅读 · 0 评论 -
aosp 12/13/lineageos19.1 framework学习编译刷入小米手机,努比亚
hi,学员朋友,大家好!前期一直有同学在问我这边,学习framework需要什么额外设备么?这里其实我一直前期也是给学员说的,如果你是个新手,刚刚开始可以不用,完全可以跟着学习(需要可以找我要优惠q群:422901085),用课程里面的模拟器。哈哈资格模拟器不要钱,也不存在变砖的可能性。转载 2023-05-05 10:57:21 · 774 阅读 · 0 评论 -
Android 12中系统Wallpaper详解1--锁屏透看壁纸和桌面透看壁纸的切换
那么其实我们可以猜测是不是锁屏window会去动态改变自己的FLAG_SHOW_WALLPAPER属性,在有桌面显示时候锁屏的window实际是没有这个属性,在锁屏状态下是有这个属性。先看桌面情况下壁纸,这个情况应该属于我们最为熟悉的,那么就不用多说,大概就是因为桌面Activity的配置主题xml设置一个类似showallpaper的属性既可以,就可以让桌面后面显示壁纸了。这个窗口在系统中有专门类进行他的显示情况,那就我们的WallpaperController类。前面疑惑中就写到正常应该是桌面。转载 2023-05-05 10:55:40 · 1706 阅读 · 0 评论 -
clearCallingIdentity与restoreCallingIdentity-千里马framework系统源码实战详解
hi,粉丝朋友大家好:今天带大家来学习一个系统开发过程中大家即“熟悉”又陌生的两个方法,分别是clearCallingIdentity和restoreCallingIdentity,一般他们是成对出现在我们的framework代码中,但大家平时分析源码时候好像并没有在意他的真正作用是什么?为啥在框架代码分析时候可以看到他的大量出现?转载 2023-05-05 10:54:37 · 314 阅读 · 0 评论 -
android 12 framework开发第53节-Activity的reLaunch及onConfigurationChanged android源码分析
hi,同学们大家好!转载 2023-05-05 10:52:17 · 505 阅读 · 0 评论 -
Android跨进程通信Client Crash后Server端onDestroy
hi,粉丝朋友大家好!好久没有给大家写blog了,哈哈,这里说声抱歉!实在家里比较忙,今天就来给大家分享一个跨进程专题课中学员问的一个问题,blog就来解答一下这个问题。转载 2023-05-05 10:51:18 · 182 阅读 · 0 评论 -
android P/Q/R/S 9/10/11/12多任务手势动画OverviewInputConsumer情况-第二节
这里面就会对这个mChildAnimations动画集合由前面onDragStart里面reinitCurrentAnimation进行设置的,集合里面包含了若干个一起动画,其中包含Workspace的移动动画,这里会进行遍历,然后设置动画时间就可以完成对WorkSpace。hi,多任务手势分析了OtherActivity的情况,这一节来分析一下在桌面本身就是前台情况下,进入多任务的源码及情况分析。这里其实onMotionEvent方法被调用后,其实调用的是proxyTouchEvent方法来处理。转载 2023-05-05 10:49:49 · 387 阅读 · 0 评论 -
android 11/12的 framework 框架systemserver源码中的AMS和WMS部分ProtoLog相关log的开放命令
这里看着也是个log打印,但是它又不是我们常见的Log.i(“”,“”);或者Slog.i(“”,“”)是可以直接通过logcat命令就可以看到对应的log打印,但是这种ProtoLog类型的log我们发现logcat并不可以直接看到。[入门课,实战课,跨进程专题,input专题](https://ke.qq.com/course/package/51285?然后我们在终端可以通过logcat就可以看到相关与ProtoLog.d(WM_DEBUG_STATES相关打印了。那具体要怎么样才可以看到呢?转载 2023-05-05 10:45:34 · 325 阅读 · 0 评论 -
手把手教你aosp android 12 pixel 解锁oem 编译刷入大全
新课程优惠获取请加入qq群:422901085(获取demo源码)转载 2023-05-05 10:44:13 · 1147 阅读 · 0 评论 -
android studio导入android系统源码 development/tools/idegen/idegen.sh执行报错
直接执行 . development/tools/idegen/idegen.sh (注意多了.空格哦)忽略Permission denied 其实也是可以正常生成对应.iml 和 ipr文件。大概看者报错意思就是idegen.jar的编译java版本是 version 53.0即java 9。但是执行时候是 versions up to 52.0即java8 这个到底为啥?新课程优惠获取请加入qq群:422901085(获取demo源码)这里明明展示是11啊,完全可以啊,为啥呢?转载 2023-05-05 10:41:09 · 373 阅读 · 0 评论 -
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-25 16:58:50 · 1372 阅读 · 0 评论 -
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-25 16:59:23 · 744 阅读 · 0 评论 -
android framework高级开发-多屏异显触摸Presentation相关实战demo
hi,各位粉丝朋友大家好!近来有同学问到对于安卓的多屏异显相关问题,具体有时间也来给大家做个简单的多屏异显demo其他就不多说了,下面就开干:Android手机大厂Framework系统-Input系统专题实战课https://ke.qq.com/course/4963459[入门课,实战课,跨进程专题ps需要学习深入framework课程和课程优惠新课程优惠获取请加入qq群:422901085(获取demo源码)1、双屏模拟因为手机一般没有两个屏幕,所以这种硬件设备还比较难找,但是and转载 2022-05-25 16:58:30 · 798 阅读 · 0 评论 -
千里马android framework开发解决Accessing hidden method限制,让应用访问隐藏方法(需要可以修改系统源码方案)
hi,粉丝朋友们大家好!今天来给大家分享一下,就是经常大家会做安卓系统开发工作问到一个问题,那就是我如果framework代码中增加了一个方法啥的,但是我又不想公开给第三方应用知道,只想让我系统的应用知道,那该怎么办呢?其实这个时候经常就会用到一个hidden的标签,来代表这个方法是隐藏方法,隐藏方法就是给系统内部用的,意味着第三方app就无法使用。这个其实也很常见,自从android p开始android系统就开始对访问hidden的限制越来越严格,虽然我们网络上有各种奇葩招来逃避不允许调用hidden转载 2022-05-25 16:58:14 · 2211 阅读 · 0 评论 -
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-05-25 16:58:03 · 807 阅读 · 0 评论 -
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-05-25 16:57:51 · 523 阅读 · 0 评论 -
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-05-25 16:57:38 · 833 阅读 · 0 评论 -
android framework手机系统改机相关知识简单方案
hi粉丝朋友们大家好!近来有些粉丝朋友问我改机相关怎么玩,其实这个我一直觉得有点拿不出台面,害怕大家干坏事。。。哈哈,也许我想多了,我是个程序员技术上研究而已,我自己不干坏事就行。android手机改机其实是一个比较偏门的领域,但是市场需求好像还比较大,比如很多那种群控工作室。1、主流改机方案主要有2种:1.静态改机即这种就和我们手机一样,刷入出厂厂商就有机型等信息,刷入就不可以改变,这种改变的就是 系统机型相关ro类型的prop,需要改变只能重新编译代码修改都以小米5的lineage版本(这转载 2022-05-25 16:57:28 · 1055 阅读 · 0 评论 -
Android系统Input专题源码分析视频课程/千里马Framework/InputDispatcher/InputReader/模拟触摸事件
hi,亲爱粉丝朋友们:在粉丝朋友们强烈的支持下,千里马的Android Framework实战专题系列的-- Input专题课程已经杀青,千里马依旧坚持着,基础与实战结合的宗旨,让大家切身在实战中学习framework相关知识,配合案例实战训练,来进一步巩固相关知识,减低大家学习framework的难度,也提供给大家真正的企业级别开发的framework实战案例。程序员也唯有脚踏实地去跟着千里马老师课程一步步一节节的学习,跟着课程走一遍,每一步自己也去做了,深刻理解了,有问题问老师了,自己才可以算是真正意转载 2022-05-24 12:57:39 · 236 阅读 · 0 评论 -
千里马 android framework之MotionEvent.ACTION_CANCEL怎么产生-讨厌的android触摸面试题
hi,粉丝朋友!大家对于MotionEvent.ACTION_CANCEL这个cancel事件是不是感觉又熟悉又陌生,熟悉是因为经常在onTouch识别触摸事件时候会把它和ACTION_UP放在一块处理,基本停留在字面意思理解为 “”取消“”新课程优惠获取请加入qq群:422901085Android手机大厂Framework系统-Input系统专题实战课[入门课,实战课,跨进程专题ps需要学习深入framework课程和课程优惠ACTION_CANCEL触发场景和原因:customTextV转载 2022-05-24 12:57:29 · 347 阅读 · 0 评论 -
android framework InputManager模拟触摸事件inject详解实战开发-视频课程笔记
我相信触摸事件注入,即模拟触摸事件绝对是最受我们android开发者喜欢的,想想你程序可以自由的模拟出你的点击事件了,你就完全可以不用在手动了,可以帮你干各种各样的事。但是同学们可能对模拟触摸事件使用及其原理其实并不是非常了解,大部分都可能是基于使用级别的居多,至于使用过程中可能出现的问题,及模拟触摸事件本质上在android系统中的一个原理,其实大部分都不是很清楚,所以本节课就来带大家去深入了解这个模拟触摸事件相关的,这个blog当然只是课程的部分课件截图,需要更清楚认真可以看我的相关视频新课程优惠获转载 2022-05-24 12:56:37 · 850 阅读 · 0 评论 -
android framework开发-Input中触摸圆点与触摸轨迹源码分析
其实我们在debug调试触摸相关时候经常会到开发者选项中开启小圆点,来方便定位我们的触摸手机屏幕的一个情况,下图就是小圆点的,那么我们就来分析这个小圆点到底是怎么展示出来的,随着我们android开发时间变长,只是调用API或者学个新的很快又会框架过时的框架比如以前推MVC,后面又推MVP,。。。。。等,远没有深入底层了解系统有技术沉淀,为啥?因为android操作系统本身代码的更新很慢,不会发生翻天覆地变化,基本Framework开发系统开发工程师在市场也很有需求,而不是普通app开发,架构和流行技术今天转载 2022-05-24 12:56:25 · 382 阅读 · 0 评论 -
android Input专题- Q/R/S 10/11/12 InputReader源码分析1
新课程优惠获取请加入千里马老师qq群:422901085上节课已经讲到了InputReaderThread和InputDispatchThread已经启动了,调用了对应的run方法,这里会导致对应的threadLoop方法执行:native/services/inputflinger/InputReaderBase.cppbool InputReaderThread::threadLoop() { mReader->loopOnce(); return true;}这里会调转载 2022-05-24 12:56:15 · 170 阅读 · 0 评论 -
android Input专题- Q/R/S 10/11/12 InputManager源码分析
Android手机大厂Framework系统-Input系统专题实战课https://ke.qq.com/course/4963459[入门课,实战课,跨进程专题ps需要学习深入framework课程和课程优惠新课程优惠获取请加入qq群:4229010851、SystemServer中InputManagerService创建与启动base/services/java/com/android/server/SystemServer.java private void startOther转载 2022-05-24 12:56:05 · 367 阅读 · 0 评论 -
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类型B特有的,实际上,每个slot会和一个ID相对应,一个非负数的表示一次接触,-1表示这是一个无用的slot(或者理转载 2022-05-24 12:55:50 · 562 阅读 · 0 评论 -
android Input专题-getevent深入分析
Android手机大厂Framework系统-Input系统专题实战课https://ke.qq.com/course/4963459[入门课,实战课,跨进程专题ps需要学习深入framework课程和课程优惠新课程优惠获取请加入qq群:422901085hi,本节课我们来讲解一下经常做触摸相关开发同学都必须要掌握的一个命令:getevent下面将通过2个部分来分别讲解1、具体使用方法gemini:/ $ getevent -hUsage: getevent [-t] [-n] [-s转载 2022-05-24 12:55:38 · 397 阅读 · 0 评论 -
Input专题讲解-简单介绍Input相关课程流程图笔记
基于linux系统的触摸数据流向:InputReader职责图:整体触摸数据流向图:新课程优惠获取请加入qq群:422901085Android手机大厂Framework系统-Input系统专题实战课https://ke.qq.com/course/4963459[入门课,实战课,跨进程专题ps需要学习深入framework课程和课程优惠...转载 2022-05-24 12:55:26 · 90 阅读 · 0 评论 -
Android input专题--触摸事件中Split相关课程笔记
Android input专题–触摸事件中Split相关课程笔记应用层面Activity的Window最常见控制可以通过设置windowEnableSplitTouch在values/styles.xml中的theme中设置, 可将theme设置给Application或者Activity,但是这个属性控制的是Window的属性。<resources> <!-- Base application theme. --> <style name="AppT转载 2022-05-24 12:55:15 · 367 阅读 · 0 评论 -
千里马Android Framework-input系统专题blog目录集合
千里马Android Framework-input系统专题blog目录集合这里将会列出视频课程中所有的可能用的相关资料集合blog链接Input专题讲解-简单介绍Input相关课程流程图笔记https://blog.csdn.net/learnframework/article/details/123219376Android input专题–触摸事件中Split相关课程笔记https://blog.csdn.net/learnframework/article/details/12360013转载 2022-05-23 09:23:45 · 142 阅读 · 0 评论 -
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-05-23 09:23:37 · 1670 阅读 · 0 评论 -
android framework 系统native c/c++源码查看跳转工具-Ubuntu+VScode搭建
hi,粉丝朋友们大家好!~~ps需要学习深入framework(可以加我qq:2102309716 优惠购买)因为之前我的入门课程中已经对android系统源码环境进行了讲解!当时我们用的是as进行的,但是as对于我们java文件确实是比较友好的,跳转和修改代码提示等也非常方便。但是对于我们如果是修改native如c/c++相关代码时候,就显得非常不友好了,连基本的样式颜色变化都没有,所以这里我们如果开发native程序比较多,或分析相关代码比较多的话就还是需要找一个比较好的工具进行,其实普遍比较主流转载 2022-05-23 09:23:27 · 1864 阅读 · 0 评论 -
android P/Q/R/S 9/10/11/12多任务手势动画OtherActivityInputConsumer情况-第一节
hi,在手机屏幕屏占比越来越大的时候,用户对手机的屏幕交互体验也在提升,把原来的导航键3个按钮的交互方式,在android P产生了一个巨大的变化,增加了全面屏上导航手势的方式,后面版本也是在P的基础进行一些细微修改。入门课,实战课,跨进程专题ps需要学习深入framework课程和课程优惠(可以加我qq:2102309716 优惠购买)导航手势给人的用户体验也确实很不错,但是他的整套代码实现也是相当复杂的,今天我们对导航手势的OtherActivityInputConsumer情况来进行分析。1转载 2022-05-23 09:23:09 · 1726 阅读 · 0 评论 -
android framework开发之广播broadcast源码分析2-千里马
hi,上一节我们主要分析了broadcast的发送部分,本节我们来分析一下接受部分,即一般我们作为一个广播接受者是怎么一步步被AMS发送过来的信息的。一般我们注册成为一个广播监听接受者都是调用Context.java中的如下方法: public abstract Intent registerReceiver(@Nullable BroadcastReceiver receiver, IntentFilter转载 2022-05-23 09:22:55 · 279 阅读 · 0 评论 -
android framework开发之广播broadcast源码分析-千里马
hi,粉丝朋友大家好!今天是2-8号,也是我春节第一天正式开工的日子,在这里首先祝大家新的一年技术进步,与千里马共同学习共同进步,共同升职加薪。今天要给大家分享的一个课题是大家都很熟悉的广播。这里将要分为2个部分来对广播进行分析:入门课,实战课,跨进程专题ps需要学习深入framework课程和课程优惠(可以加我qq:2102309716 优惠购买)1、广播发送部分一般我们正常使用发送广播都会有调用一个context的sendBroadcas,方法原型如下: public void sen转载 2022-05-23 09:22:45 · 365 阅读 · 0 评论 -
Android10Q/11R/12S Service bindService系统源码分析1-千里马framework
背景hi,粉丝朋友们大家好!今天本来是想给大家写一下高级面试问题答案的,题目:如果一个进程自己调用自己的跨进程接口是否会通过binder,但是刚好这部分又要涉及到Service,那么就来给大家刚好源码级别分析一下bindService。首先贴出对应流程图:1、客户端调用bindService源码入门课,实战课,跨进程专题ps需要学习深入framework课程和课程优惠(可以加我qq:2102309716 优惠购买)一般我们发起bindService来绑定远程服务Service,调用如下:转载 2022-05-23 09:22:34 · 241 阅读 · 0 评论 -
android framework系统源码分析之dumpsys原理分析-千里马带你学framework
背景:hi,粉丝朋友们大家好!我们学习android framework实战开发过程中经常会用到一些辅助的shell命令,比如最经典就是我们常见的dumpsys啦,还记我给大家讲解的入门课,实战课,跨进程专题课其实都用用到这个命令;当时我只是给大家讲解怎么使用这种dumpsys一些命令,并没有给大家讲解它的一个原理,但是对于对android系统充满好奇小伙伴们,肯定不满足与简单使用,还是想搞明白他到到底什么原理,那么搞懂它到底有什么好处么?那当然是好处多多,我这里给大家主要罗列一下几点:1、分析出du转载 2022-05-23 09:22:14 · 819 阅读 · 0 评论 -
android studio调试debug 系统framework、systemserver方法-千里马带你学framework
hi,粉丝朋友们大家好!近来很多学员在说想要在android系统里面用android studio进行直接调试,针对这个需求其实我以前是确实有尝试的,包括前期破解鸿蒙系统和android关系时候也是有用到的。下面我来给大家介绍一下怎么在android studio调试我们的framework代码:1、首先肯定得搭建好源码的导入android studio,并且可以达到正常跳转的地步,这个部分可以看我之前的blog,或者看我的android framework入门课(可以加我qq:2102309716转载 2022-05-23 09:22:05 · 862 阅读 · 0 评论 -
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-05-23 09:21:51 · 422 阅读 · 0 评论 -
学习Android Framework可以做什么?
其实很多新的学员都会问学习Framework后到底在企业里面干什么?具体哪些工作是需要Framework层面进行修改的,市场需求量大不大。这个其实在我的课程第一节就有讲到相关的内容,即为什么要学习framework,具体可以看我的免费试看视频这次我们重点介绍是哪些工作是需要学习 Framework知识,这里主要分为2大块与大家分享,具体如下图:如果需要学习更多framework只是和视频可以b站关注:千里马学框架,购买课程最好加入422901085群里找千里马要优惠和答疑课程答疑和新课信息:QQ交转载 2022-05-22 21:58:30 · 439 阅读 · 0 评论 -
Handler ,MessageQueue 的Looper中epoll监听的fd
hi,同学们大家好!这些天有学员再群里问起了Handler中有个数据监听相关问题,学员有的认为Handler数据传递是靠流传递,误认为是epoll中监听的fd进行传递的,这个其实有必要更正这个学员的一个观点:1、handler的数据传递完全是在自己进程中,所以完全不需要什么fd的流来传递,就相当于一个全局变量一样,你需要通过什么socket什么来传递数据么,你直接内存变量就可以访问到2、那么学员就有疑问,那么handler looper说是基于epoll检测fd方式,epoll只是来监听回调通知作用,转载 2022-05-22 21:58:19 · 460 阅读 · 0 评论