Framework学习(一)Android 系统架构

Framework学习(一)Android 系统架构,安卓开发中遇到最难的问题 自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中… 阅读详情

Android7.0的根目录结构说明如下表所示:

|– Makefile (全局Makefile文件,用来定义编译规则)

|– abi (应用程序二进制接口)

|– art (ART运行环境)

|– bionic (bionic C库)

|– bootable (启动引导相关代码)

|– build (存放系统编译规则及generic等基础开发包配置)

|– cts (Android兼容性测试套件标准)

|– dalvik (dalvik JAVA虚拟机)

|– developers (开发者目录)

|– development (应用程序开发相关)

|– device (设备相关配置)

|– docs (参考文档目录)

|– external (android使用的一些开源的模组)

|– frameworks (核心框架——java及C++语言)

|– hardware (部分厂家开源的硬解适配层HAL代码)

|– kernel

|– libcore (核心库相关文件)

|– libnativehelper (动态库,实现JNI库的基础)

|– ndk (NDK相关代码,帮助开发人员在应用程序中嵌入C/C++代码)

|– out (编译完成后的代码输出与此目录)

|– packages (应用程序包)

|– pdk (Plug Development Kit 的缩写,本地开发套件)

|– prebuilts (x86和arm架构下预编译的一些资源)

|– sdk (sdk及模拟器)

|– system (底层文件系统库、应用及组件——C语言)

|– tools (工具文件)

|– toolchain(工具链文件)

|– vendor (厂商定制代码)

应用层部分
高效探索Android源码:AOSPXRef与AndroidXRef的实战对比与进阶技巧 本文深入对比了Android源码探索工具AOSPXRef与AndroidXRef的实战应用与进阶技巧。AOSPXRef支持Android 5.0至14.0版本,提供快速搜索与代码跳转功能,适合国内开发者;AndroidXRef则覆盖Android 1.6至9.0历史版本,适合研究代码演进。文章还分享了混合使用技巧、浏览器插件增强及性能优化方法,助力开发者高效探索Android源代码。 阅读详情

相关推荐

从AOSPXRef到AndroidXRef:探索Android源码阅读工具的技术演进与未来趋势

本文深入探讨了从AOSPXRef到AndroidXRef的Android源码阅读工具技术演进,分析了不同工具的核心功能与架构差异。通过对比AndroidXRef和AOSPXRef的索引构建、代码导航及搜索效率,帮助开发者更高效地阅读和理解Android源码,并展望了未来智能化、可视化的发展趋势。

green的博客 823

Framework学习(一)Android-系统架构

该层提供一些核心应用程序包,例如电子邮件、短信、日历、地图、浏览器和联系人管理等。同时,开发者可以利用Java语言设计和编写属于自己的应用程序,而这些程序与那些核心应用程序彼此平等、友好共处。应用框架层为开发人员提供了可以开发应用程序所需要的API,我们平常开发应用程序都是调用的这一层所提供的API,当然也包括系统的应用。这一层的是由Java代码编写的,可以称为Java Framework。

2501_90209903的博客 1131

Android-Framework学习笔记(一)Android-系统架构

android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。该层提供一些核心应用程序包,例如电子邮件、短信、日历、地图、浏览器和联系人管理等。同时,开发者可以利用Java语言设计和编写属于自己的应用程序,而这些程序与那些核心应用程序彼此平等、友好共处。应用框架层为开发人员提供了可以开发应用程序所需要的API,我们平常开发应用程序都是调用的这一层所提供的API,当然也包括系统的应用。这一层的是由Java代码编写的,可以称为Java Framework。

2401_84149592的博客 1082

Android-Framework学习笔记(一)Android-系统架构,jetpack库

|– bootable (启动引导相关代码) |– build (存放系统编译规则及generic等基础开发包配置) |– cts (Android兼容性测试套件标准) |– dalvik (dalvik JAVA虚拟机) |– developers (开发者目录) |– development (应用程序开发相关) |– device (设备相关配置) |– docs (参考文档目录) |– external (android使用的一些开源的模组) |– frameworks (核心框架——java及C+

m0_66264533的博客 2207

Framework学习(一)Android 系统架构,android常见面试题及答案

应用程序层 该层提供一些核心应用程序包,例如电子邮件、短信、日历、地图、浏览器和联系人管理等。同时,开发者可以利用Java语言设计和编写属于自己的应用程序,而这些程序与那些核心应用程序彼此平等、友好共处。 应用程序框架层 应用框架层为开发人员提供了可以开发应用程序所需要的API,我们平常开发应用程序都是调用的这一层所提供的API,当然也包括系统的应用。这一层的是由Java代码编写的,可以称为Java Framework。 应用程序框架层包括活动管理器、位置管理器、包管理器、通知管理器、资源管理器、 电话管.

m0_66264630的博客 418

Android-Framework学习笔记(一)Android-系统架构(1)

在技术领域内,没有任何一门课程可以让你学完后一劳永逸,再好的课程也只能是“师傅领进门,修行靠个人”。“学无止境”这句话,在任何技术领域,都不只是良好的习惯,更是程序员和工程师们不被时代淘汰、获得更好机会和发展的必要前提。如果你觉得自己学习效率低,缺乏正确的指导,可以一起学习交流!加入我们吧!群内有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的Android交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。

2301_79655511的博客 1013

Android-Framework学习笔记(一)Android-系统架构(2)

该层提供一些核心应用程序包,例如电子邮件、短信、日历、地图、浏览器和联系人管理等。同时,开发者可以利用Java语言设计和编写属于自己的应用程序,而这些程序与那些核心应用程序彼此平等、友好共处。应用程序框架层应用框架层为开发人员提供了可以开发应用程序所需要的API,我们平常开发应用程序都是调用的这一层所提供的API,当然也包括系统的应用。这一层的是由Java代码编写的,可以称为Java Framework。应用程序框架层包括活动管理器、位置管理器、包管理器、通知管理器、资源管理器、 电话管理器、窗口管理器、内

2401_83816970的博客 899

framework学习路线和方法

之前分享过我转framework的经历,可以看这里《我是如何从Android开发转framework开发的》,今天根据自己实际工作感受整理出一份framework的学习路线和方法,仅供参考,如有不足,还望指正。学习framework是一件非常枯燥的事情,原因在于相比于app开发的coding,framework更侧重于对源码的reading,但学习它能让我们更深入的了解Android系统,增加自身的知识储备,降低自己在行业中的可替代性,延长自己的职业生涯,提高自身身价。

这个人很懒,什么都没留下... 8888

Android Framework学习一:系统框架、启动过程

Zygote 进程是 Android 系统中由 init 进程启动的第一个 Java 进程,它运行着一个 Java 虚拟机(JVM)实例,并且预加载了大量的系统资源和类,能够快速创建新的应用程序进程和部分系统服务进程。zygote是由init进程fork出来的,在Android中,DVM和ART、应用程序进程以及运行系统的关键服务的SyetemService进程都是由Zygote进程来创建的,所以称之为孵化器。init 进程主要通过解析配置文件来确定要执行的操作和启动的服务。init是用户空间的鼻祖。

zmlovelx(帅得不敢出门 程序员群31843264) 1787

Android9.0 framework层Service引起ANR的原理分析

Android系统中,在app中进行一些操作时,系统中的ActivityManagerService(简称AMS)和WindowManagerService(简称WMS)会在app进行操作app时, 检测App的响应时间,如果App在特定时间无法响应屏幕触摸或键盘输入时间,或者特定事件没有处理完毕,就会出现ANR。

安卓兼职framework和app工程师的博客 854

具身智能端到端大模型VLA (Vision Language Action)

在语言为条件的机器人任务中,策略必须具备理解语言指令、视觉感知环境并生成适当动作的能力,这就需要VLA的。例如,在自动驾驶领域,传统的做法是将感知、预测、规划等步骤分开处理,而VLA则试图用一个统一的框架来替代这种分立的方法。另外,VLA的模型对于算力的需求很大,单片AI算力1000Tops的Thor大概率会延期发布,加上英伟达芯片的量产时间与成本挑战,以及在国内的应用情况,对车企而言是个大问题。以谷歌DeepMind推出的RT-2为例,该模型可以在新的物体、背景和环境中表现出显著改善的性能。

具身智能机器人 1万+

Zabbix7.4监控系统在Rocky Linux10.0上的完整部署流程(含MariaDB配置)

本文详细介绍了在Rocky Linux 10.0操作系统上部署企业级监控系统Zabbix 7.4的完整流程,并重点阐述了与MariaDB数据库的深度集成与性能优化配置。内容涵盖从系统环境准备、数据库安装与安全加固、Zabbix核心组件部署,到服务配置、Web界面初始化以及生产环境高级调优的全方位实战指南,旨在帮助用户构建稳定高效的监控平台。

weixin_29200741的博客 328

phaser3适配微信小游戏

phaser3适配微信小游戏

SilenzioX的博客 1803

半导体AMHS天车振动控制:从0.5G到超低振动的技术演进与工程实战

在先进晶圆厂中,自动化物料搬运系统(AMHS)的天车如同空中出租车,承担着晶圆盒(FOUP)在洁净室各工艺区间的转运任务。然而,当天车加减速、过弯或抓取时产生的机械振动通过轨道梁和建筑结构传递至光刻机等敏感设备,便可能直接威胁套刻精度与良率。传统被动减振方案依靠橡胶垫和弹簧,在0.5G指标时代曾行之有效,但在EUV光刻和先进制程面前已力不从心。主动振动控制技术通过传感器、控制器与作动器构成的闭环系统,在轨道吊点和机械手端实时输出反向力抵消振动,配合磁悬浮走行、轻量化结构及调度系统的路径优化,将振动从0.5G

weixin_29188043的博客 341

Cadence OrCAD Capture 保持元器件编号情况复制元件,复制后元器件编号与复制前不同的问题解决

如下图所示复制时,已经勾选了“Preserve reference on copy”但是复制后的编号却与复制前不一样。本文简单介绍其原因及解决方法。

fydar的博客 3163

国科大学习资料--机器学习方法与应用(叶齐祥)-期末考试题整理

国科大学习资料–机器学习方法与应用-期末考试题整理 ============================================================================================================================================================================================ =======================================

无名何许人的博客 2852

世界职业院校技能大赛财经赛道项目参考逐字稿五

世界职业院校技能大赛财经赛道项目参考逐字稿五

我是网络安全兼技能大赛工程师,专注网络安全技术学习与技能大赛实战!持续分享最新的技术文章,帮你少走弯路,一起在技术赛道上进步~ 131

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

上一篇: Fragment使用(上)
下一篇: Framework学习(五)应用程序启动过程
Android_1314
博客等级 码龄5年 1粉丝 70原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值