Android Framework学习路线
2023-2-24 09:20:39 Author: 哆啦安全(查看原文) 阅读量:23 收藏

推荐阅读

Android adb常用命令

Android adb命令总结

Android系统开机过程解析

Android中奇淫run-as命令

玩转Android adb命令(adb降级)

如何深入学习Android Framework

AOSP Android11系统源码和内核源码

Android系统run-as命令原理(权限访问)

Android Q打通应用层到HAL层(HIDL服务实现)

Android系统开发过程快速查找定位代码的方法

Android10以上系统定制Root权限(隐藏Root权限)

Android系统源码在线阅读(Android4~Android13)

Android ANR/Crash Log日志分析技巧总结(建议收藏)

Android6.0至13系统定制版手机(适合于开发/安全研究)

新手/零基础Android手机使用过程遇到疑难问题的操作方法

谷歌云上高速编译安卓AOSP ROM、驱动、内核并完成刷机

干货|Android系统中run-as和su命令的源码解析(升降权限)

Android系统定制/测试(Crash/ANR等Bug/性能分析必备技巧)

Android10以上系统Audio音频遇到播放视频无声时的分析方法

Android系统定制之Android.mk和Android.bp语法详解(精通版)

干货|Android APP应用工程师转Framework工程师(仅此一篇够了)

干货|云服务器编译Android10系统源码或刷机或联网过程遇到的坑(Google Pixel3手机)

Android的整体结构图


从下往上依次

(1).Linux kernel层,很大一部分内容是驱动程序

(2).HAL层,对下封装驱动硬件操作,对上向App提供统一稳定的驱动操作接口

(3).Native层,主要是C/C++库以及Java虚拟机

(4).Java层,主要是Java库,系统服务等

(5).App层,一些系统和三方App

framework大多数指的是中间三层的开发,即:Java层、Native层、HAL层

以Android系统启动过程为主线,以进程的视角来学习Android系统!


系统启动过程分析


欢迎关注"哆啦安全"视频号

AIDLhttps://github.com/gunder1129/android-tool/tree/master/AIDLdemo
HIDLhttps://github.com/gunder1129/android-tool/tree/master/HIDL
HIDL最全编译流程https://blog.csdn.net/u013357557/article/details/84561652
使用Android的HIDL+AIDL方式编写从HAL层到APP层的程序http://www.max-shu.com/blog/?p=1075
Android11添加AIDL系统服务及HIDL接口服务https://blog.csdn.net/DKBDKBDKB/article/details/128409938
使用objdump、readelf和addr2line来定位coredump时的exception异常或kernel panic异常http://www.max-shu.com/blog/?p=1044
使用gperftools和btrace来分析java的堆外内存泄露http://www.max-shu.com/blog/?p=1090
辅助Android开发调试的工具Apphttps://gitee.com/luqinx/codecrafts-docs/raw/master/codecrafts-release-latest-version.apk

针对Google系列机型定制

支持魔改Xposed、过Root、Xposed等检测

业务合作

商务合作

安全产品

安全服务

2023年招聘

安全培训服务

软件定制服务

Android系统定制服务

安全/软件开发的课程列表

商务合作

更多业务合作,点击下方"阅读原文"


文章来源: http://mp.weixin.qq.com/s?__biz=Mzg2NzUzNzk1Mw==&mid=2247495216&idx=1&sn=a802433a5cedc18e90531348a1e70ce0&chksm=ceb8ab7ef9cf2268469a1118011b4ea896e54005b079b3215eca8404aa39e36a54a5e8e15bfb#rd
如有侵权请联系:admin#unsafe.sh