微网站和app的区别,公司管理系统有哪些,seo实战密码第四版pdf,鞍山58二手车【教程】Android#xff08;AOSP#xff09;Framework开发/ROM定制快速教程 备注一、基础知识二、基本操作1.源码获取2.源码编译3.产品添加4.应用添加 二、 备注
2025/03/13 星期四 记录一下完整的Android系统开发知识#xff0c;方便自己查阅 #xff08;https://juejin.… 【教程】AndroidAOSPFramework开发/ROM定制快速教程 备注一、基础知识二、基本操作1.源码获取2.源码编译3.产品添加4.应用添加 二、 备注
2025/03/13 星期四 记录一下完整的Android系统开发知识方便自己查阅 https://juejin.cn/post/7216495812577427517
一、基础知识
Android是Google基于Linux内核研发的移动操作系统Google将Android源码进行了开源称为AOSPAndroid Open Source Project。Android经过多年发展除了手机还广泛应用于手表、平板、电视、车机等智能设备中。对AOSP源码做二次开发的工作一般称为Framework开发或者ROM定制。
Android设备制造行业一个基本的流程是 1.Google开发AOSP 2.芯片厂商根据芯片适配AOSP如高通、展锐、联发科 3.主板厂商有的芯片厂商也当主板厂商设计电路板增加其他配件在芯片厂商源码基础上继续修改做适配 4.设备制造商对主板厂商的源码定制UI增加功能优化系统如华为、小米、OPPO、VIVO
二、基本操作
1.源码获取
Google建议在Ubuntu上进行开发提供了Android Studio for Platform作为开发工具。首次开发获取源码的操作如下
# 安装基本依赖
sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev libc6-dev-i386 x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig# 安装源码管理工具repo
sudo apt-get install repo# 初始化仓库
repo init --partial-clone -b main -u https://android.googlesource.com/platform/manifest -b [分支]# 拉取源码
repo sync -c -j82.源码编译
对源码进行编译的操作如下
source build/envsetup.sh
lunch
make -j$(nproc)注Android中的内核文件是预编译好的如果想要修改内核需要拉取对应的内核代码修改编译后将编译结果放到指定路径再重新编译打包Android镜像。 编译完成后进行刷机的操作如下
adb reboot bootloader
fastboot flashall -w3.产品添加
不同产品的源码会存在差异通过配置文件来实现区分这一系列的配置文件我们称为 Product每一个 Product 适用于特定的硬件产品在编译时通过lunch进行选择。 Google提供的product 配置文件会保存在build/target目录下芯片厂商或主板厂商提供的product配置文件在device目录下。 当我们想要添加自己的product 配置文件时一般也会选择在device目录下新增公司名/Product名再添加Product名.mk、BoardConfig.mk、AndroidProducts.mk可以参考AOSP原生文件进行编写。
文件作用Product名.mk产品最核心的配置文件BoardConfig.mk硬件底层配置、芯片架构、分区大小、bootloader 和 kernel, 是否支持摄像头GPS导航等一些板级特性。AndroidProducts.mklunch时打印的列表以及每个选项对应的配置文件
添加好我们的product之后就可以确认不同分区的作用这里优先区分一下system、vendor、odm和product分区
分区作用systemAOSP系统组件即不同product的通用软件vendor芯片和主板厂商针对硬件开发的平台通用的可执行文件、库、系统服务和 app 不包含驱动odm产品硬件差异导致的相关软件差异部分都会放在odm分区product软件差异都放在product分区
因此可以从软硬件、通用和差异方面简单理解为
软件硬件通用systemvendor差异productodm
4.应用添加
二、