msm8953 + android7.1.2知识总结

说明:本人之前一直在应用层开发,然而由于公司发展需要,现在要安卓系统级开发,涉及到硬件画板、驱动开发、编译、镜像烧录等等,难度可想而知,只能恨自己知识面太窄。但是本着不放弃、不抛弃的精神,也只好硬着头皮搞,毕竟还想挣扎挣扎,不想死的那么透彻。所以就花了半个月时间整理出了这篇文章。供各位迷途小羔羊们(包括我自己)参考讨论。之后还会整理一些在开发过程中的文章,关于源码编译、fastboot镜像烧录、HDMI视频输出功能、以太网上网及路由功能、GPIO、开机自启动脚本、root、串口通信、Web页面配置功能

不会的事情慢慢做、会做的事情仔细做。加油,每天进步一点点。

Android

7.1.2源码目录

abi

应用程序二进制接口

art

Android Runtime,一种App运行模式,区别于传统的Dalvik虚拟机,旨在提高Android系统的流畅性

bionic

基础C库源代码,Android改造的C/C++库

bootable

Android程序启动导引,适合各种bootloader的通用代码,包括一个recovery目录

build

存放系统编译规则及generic等基础开发包配置

cts

Android兼容性测试套件标准

dalvik

android 虚拟机

developers

Android开发者参考文档

development

Android应用开发基础设施相关

device

Android支持的各种设备及相关配置

docs

参考文档目录

external

Android中使用的外部开源库

frameworks

应用程序框架,Android系统核心部分,由Java和C++编写

  • av:多媒体框架

  • base:Android源码的主要核心目录

    • apct-tests:性能优化测试
    • api:android应用框架层声明类、属性和资源
    • cmds:android系统启动时用到的commands
    • core:framework的核心框架组件
    • data:android下的资源(字体、声音、视频、软盘等)
    • docs:android项目说明
    • drm:实现权限管理,数字内容解密等模块的工作
    • graphics:图像渲染模块
    • keystore:秘钥库
    • libs:库信息(界面、存储、USB)
    • location:位置信息
    • media:手机媒体管理(音频、视频等)
    • native:本地方法实现(传感器、输入、界面、窗体)
    • nfc-extras:近场通讯
    • obex:蓝牙
    • opengl:2D和3D图形绘制
    • packages:框架层的实现(界面、服务、存储)
    • proto:协议框架
    • rs:资源框架
    • samples:例子程序
    • sax:xml解析器
    • services:各种服务程序
    • telecomm:telecomm通信框架
    • telephony:电话通讯框架
    • tests:各种测试
    • vr:虚拟现实相关
    • wifi:wifi模块
  • compile:编译相关

  • ex:文件解析器

  • hardware:硬件适配接口

  • layoutlib:布局相关

  • minikin:Android原生字体,连体字效果

  • ml:机器学习

  • multidex:多dex加载器

  • native:native实现

  • opt:一些软件

  • rs:Render Script,可创建3D接口

  • support:framework支持文件

  • wilhelm:基于Khronos的OpenSL ES/OpenMAX AL的audio/multimedia实现

hardware

硬件适配接口

kernel

Linux Kernel,不过Android默认不提供,需要单独下载,只有一个tests目录
----不太明白什么意思

libcore

Android Java核心类库

libnativehelper

Android动态库,实现JNI库的基础

ndk

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

out

packages

应用程序包

  • apps:核心应用程序
  • inputmethods:输入法目录
  • providers:内容提供者目录
  • screensavers:屏幕保护
  • services:通信服务
  • wallpapers:墙纸

pdk

Plug Development Kit 的缩写,本地开发套件

platform_testing

Android平台测试程序

prebuilts

x86和arm架构下预编译的一些资源

sdk

Android的Java层sdk

system

Android底层文件系统库、应用和组件

toolchain

工具链文件

tools

Android工具文件

vendor

#设备制造商专用的配置存放目录,存放规则vendor/ v e n d o r / vendor/ vendor/product,cm编写的apk也放在该目录

系统架构

Applications层

  • 对应源码目录packages/apps

Framework层

  • frameworks/

Libraries

  • 运行库Libraries

    • bionic/
  • Android Runtime

    • art/
    • dalvik/
    • libcore/

HAL层

  • hardware/

Linux Kernel层

  • kernel/

android平台主要组件

在这里插入图片描述

系统架构

在这里插入图片描述

编译后的镜像文件

emmc_appsboot.mbn:这个文件很重要,他就是bootloader,负责引导手机启动,包括进入fastboot模式

boot.img:这是系统的内核文件,他对应的分区负责启动系统并进行初始化,这个文件非常重要。另外,这个文件里存放了底层的一些驱动和配置文件。

system.img:system 分区主要包含 Android 框架

recovery.img:recovery是android定义的一个标准刷机协议

userdata.img:userdata分区包含用户安装的应用和数据,包括自定义数据

整理好的思维导图如下供需要的宝贝们参考
在这里插入图片描述

再次坚信,在你迷茫的时候不要放弃,在你看不到结果的时候不要放弃,在别人嘲笑你连他认为最基本的东西你都不会的时候,不要在意,默默的耕耘,总会有收获,宝贝们,奥利给!

  • 6
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

無昂博奥

测试下大赏功能,请勿大赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值