自学成为android framework工程师需要准备哪些装备-千里马车载车机系统开发学习

Android Framework开发环境搭建 以上操作步骤,针对的是有一定linux软件经验的同学。如果是小白,一点不会linux操作的,每一步如果达不到预期效果的话,可以baidu查看下原由,或者留言问我。因为如果每一步讲的特别细,文章太臭太长了,一点也不酷!!! 阅读详情
AI摘要

本文指导框架新手如何从零开始转变为高手,强调了基础电脑配置(包括CPU、内存和SSD)、Ubuntu操作系统的选择以及不同阶段所需的硬件设备,如开发板、二手手机和Pixel。,

背景

hi,粉丝朋友们:
大家好!经常有很多学员买课同学都会问到需要准备哪些装备,我也回答了很多学员了,今天就搞一篇文章来统一说明一下,告诉一下大家如果你想从一个framework新手变成一个framework开发的高手需要准备好哪些装备。

基础设备

在开始学习framework阶段,这个时候的你还处于对framework的全新探索期,你对framework也还不是很熟悉,这个时期必备装备有如下:

1、必备硬件电脑(不要用苹果相关电脑)

在这里插入图片描述

这个电脑是最重要的,因为你如果没有一个不错的电脑那么其实,做framework来还是很麻烦,因为framework开发需要你频繁编译系统,频繁修改,但是编译系统可不是编译应用那么简单,相对来说非常耗费资源。具体需要什么配置呢?这里给出一个最基本的配置:

cpu:最少4核以上
建议intel cpu(amd cpu也可以),一般都可以满足,越多核越好,这个是影响你编译速度关键,差异也巨大,比如学员里面编译8.1的老代码为例,有的编译源码10小时,有的16分钟

内存:最少16G以上
目前高版本的aosp版本编译都是耗费内存巨大的,所以这里的建议内存最少要有16G,内存不足,那么导致的结果那就是,经常编译源码时候无故退出,停止,oom等,这个时候最简单方式加内存条,不加那就只能减少make的线程,比如make -j 1,单线程编译让编译过那块的耗内存任务

SSD/硬盘500G以上
这个部分容量最少500G,不过这个只能保证你开发一套代码够了,你要是想搞多套aosp版本的开发,那么肯定是不够的,所以硬盘容量给的越多越好。不然你就只能保留一套代码。
这里的建议大家用ssd,不要用机械硬盘,因为机械硬盘比较慢,硬盘速度也是影响编译时间的关键因素

如果不满足以上配置建议可以考虑换电脑了,省钱的话可以考虑买个二手服务器cpu至强系列的,性价比最佳满足aosp系统开发

2、必备的ubuntu操作系统

要求:
Ubuntu 操作系统 64位桌面版本,如下面带了desktop和amd64标识的镜像
在这里插入图片描述
版本要求:
最少要求16.04版本及以上版本,我这边自己使用的20.04版本

安装方式选择

1 直接电脑只有Ubuntu系统 最佳选择
2 电脑采用双系统方式,windows系统和Ubuntu系统分别安装不同硬盘分区方式 (和直接安装没啥区别,不过就是启动时候选择不一样)
3 windows电脑 + VMware安Ubuntu方式 (速度会慢一些,适合想和windows同时用的情况)

这个framework学习初中期,可以不需要开发板或者其他手机设备,这个期间自己编译系统可以直接模拟器emulator运行,看到自己运行的模拟器,这个就是为啥要Ubuntu的桌面版本

进价设备

经过上面的framework学习阶段后,到了中后期你就可以准备相关的硬件终端设备来运行你编译的系统了,这个具体终端选择的话我这边也给出一些建议:

在这里插入图片描述

为啥要有实体设备呢?

1、为了让自己修改系统自己使用,增加成就感,提高兴趣,比如你可以为你的妹纸做个系统表白啥的,比如一开机就是她的的开机动画。。。。

2、最重要是因为一些模块不方便用模拟器了,比如触摸,SurfaceFlinger,啥的和硬件有些耦合的东西

真实的硬件设备有以下几个特点对比

1、开发板,比如市场经典的RK系列,全志啥的(预算价钱1000左右)
优点:就是不担心变砖,还可以学嵌入式
缺点:就是aosp版本更新是个麻烦事,不一定是最新aosp

2、国内二手手机,比如小米等,具体是否支持得自己去官网看(预算:100-300)
(搭建编译刷机参考网页:https://blog.youkuaiyun.com/learnframework/article/details/128438325)

优点:特别适合framework开发,价格便宜,而且经常体验最新的aosp系统,因为lineageos会经常更新最新aosp
缺点:可能涉及解锁等步骤每个手机厂商不一样,要多试试

3、二手pixel 咸鱼一般可以买到,越新的价格越贵(预算:200-1000)

搭建编译刷机参考网页:https://blog.youkuaiyun.com/learnframework/article/details/125269456
优点:可以直接aosp代码就支持的,官方原生的aosp系统
缺点:google不会更新老版本的pixel的aosp版本,即买的pixel如果太老会没有新版本aosp,得买新的pixel才可以
新的pixel价格过贵

马哥装备如下:
在这里插入图片描述

更多framework干货获取相关可以 点击这里 https://mp.weixin.qq.com/s/Qv8zjgQ0CkalKmvi8tMGaw
视频:https://www.bilibili.com/video/BV1ah411d7Y3
在这里插入图片描述

android framework开发的技能要求 作为Android Framework开发工程师,需要具备深入的系统底层理解能力和对Android架构的全面认知。 阅读详情

相关推荐

[RK3568 Android11] 教程之开发工具和软件说明

前言 此篇主要讲开发时会使用到哪些工具和电脑软件;便捷的开发工具和软件会提高我们工作效率;软件开发或者调试过程中,工具和软件是不可或缺的,接下来讲下开发过程中会使用到哪些工具和软件; 一、电脑配置 1、嵌入式Android驱动开发,因Android源码的SDK包较大,而且越到后面升级的版本,SDK包就越大;拿Android11的SDK包来说:在没有编译和创建git情况下,SDK包有70GB左右;编译和创建git后,SDK包有178GB左右; 2、个人电脑的配置 编译...

~未来可期~ 1万+

学习AOSP安卓系统源代码,需要什么样的电脑?不同配置的电脑,其编译时间有多大差距?

俗话说得好,工欲善其事必先利其器!有一台自己的编译服务器是每个学习AOSP 安卓系统源代码人的梦想,然而需要什么样的配置呢?下面是我当前在用的3个平台的核心配置,可供大家参考。不同配置的电脑,其编译时间有多大差距?本文提供3款典型配置,让你一目了然。

上周的博客 1万+

RK3572-Android16-记录一次OTA升级失败解决方案

这里记录一次解决RK3576 Android16 OTA 用Recovery 升级失败的一次解决案例,将部分经验作为总结。本次OTA升级耗时了几天,最终是RK给出的解决方案,再加上经验来解决了其它部分问题新平台,高一点的Android版本,可能本身有bug,多请教平台来,不要蒙着干,干不出来的。

十年饮冰,难凉热血 126

Ubuntu 22.04.2系统Android13源码编译

Ubuntu 22.04.2系统编译AOSP Android13

u013065988的博客 1436

应用到framework从0开始——编译环境搭建

本系列文章,给身为android应用开发得程序员,期望转型到android framework开发的工程师提供基础的入门教学,跟着本系列课程就能从应用开发入门到fw开发的门槛中,最终能够清楚FW开发是一个什么样的事情,以及大多数在岗的odm,oem厂商或者是外包服务商的FW开发工程师,他们每天的日常是什么,让更多的android应用开发者心中有数,自己是否能够转型去做android 系统的开发。当前就业环境形式不好,为的就是给大家更多的选择,更好的规划自己的未来。

wzkacyw的博客 1115

ADS 2024 Circuit Envelope 仿真:3步配置调制源,分析5G NR EVM与ACPR

本文详细介绍了ADS 2024 Circuit Envelope仿真技术在5G NR调制源配置与关键指标分析中的应用。通过3步配置调制源,工程师可以高效评估EVM与ACPR等关键指标,特别适用于功放设计中的非线性效应诊断。文章还提供了优化仿真设置和精确提取EVM、ACPR的实用方法,助力5G射频前端设计。

weixin_28559803的博客 384

Android FrameWork 开发环境搭建

双核,内存最少16G,硬盘200G以上。独立安装Ubuntu16.04系统。 openjdk8安装 sudo apt-get install openjdk-8-jdk 安装所需软件包 sudo apt-get install -y git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11pr

a546036242的博客 1471

冒险岛脚本函数大全:cm.sendYesNo和cm.warp的20个实战用法

本文深入解析了冒险岛脚本中cm.sendYesNo和cm.warp两个核心函数的20个实战应用场景。从基础的确认对话框交互、条件判断,到复杂的装备强化系统、动态传送与副本入口逻辑,文章通过大量代码示例展示了如何组合运用这两个函数,实现从简单NPC到复杂任务系统的进阶脚本开发,并分享了状态管理、错误处理与性能优化等最佳实践。

t4y5u6i7o的博客 1060

Android 开发入门实践(二):Kotlin 空安全,从可空类型到安全访问

延续 NewsApp 项目中的新闻标题练习,记录 Kotlin 安全调用。

Easyhood的博客 286

极坐标格式算法(PFA)-SAR成像算法系列(六)

SAR成像算法:极坐标格式算法,介绍了算法的基本原理以及实现步骤,包含dechirp处理、RVP补偿,距离插值、方位插值。文后附有代码,可根据自身情况下载。

yjh_2019的博客 1万+

目标检测: 一文读懂 YOLOX

论文:YOLOX: Exceeding YOLO Series in 2021 论文链接:https://arxiv.org/pdf/2107.08430.pdf 代码链接:https://github.com/Megvii-BaseDetection/YOLOX. 文章目录1 为什么提出YOLOX2 YOLOX 网络架构3 YOLOX 实施细节3.1 backbone3.2 neck3.3 Head3.3.1 Decoupled Head3.3.2 Anchor-free3.4 如何计算Loss3.5 如

weixin_46142822的博客 3万+

Android 模块化收口:能力组合框架、手写 LifecycleOwner 与热修复共存

二十多个模块业务高度相似却各有差异,核心矛盾在于“统一与灵活”的平衡。通过角色接口组合(如IProjectAware、IVoiceAware)实现能力按需注入,新增功能零侵入;用模板方法锁定生命周期流程,确保顺序一致;结合@CallSuper与工厂方法,既约束关键逻辑,又保留子类自由。最终实现:骨架统一、填空自由,管得住业务,又不侵入业务。

mmsx990的博客 397

麒麟V10 ARM环境离线部署MySQL:从依赖缺失到服务自启的完整避坑指南

本文详细介绍了在麒麟V10 ARM环境下离线部署MySQL的完整流程,包括依赖缺失解决方案、目录配置、服务自启设置及性能调优。特别针对国产操作系统和ARM架构的兼容性问题,提供了实用的避坑指南和优化建议,帮助用户高效完成MySQL部署与维护。

weixin_28741413的博客 409

Android 开发入门实践(十三):用 Intent、UiState 和 Reducer 理解 MVI 的状态更新

本文记录第141—145课对MVI架构的入门实践,通过“返回列表”功能逐步构建意图(NewsIntent)、状态(NewsUiState)与状态转换(reduce)机制。基于单向数据流,用户操作生成意图,ViewModel通过Reducer根据旧状态计算新状态,并通过StateFlow更新Compose界面。代码实现清晰分离关注点,强化了对状态管理、事件驱动与数据流的理解。

Easyhood的博客 317

实体对齐(Entity Alignment)相关论文与数据集整理

实体对齐(Entity Alignment)、知识图谱融合方法总结整理 年份 模型 主要思想 博文推荐 论文 代码 2019 Entity Alignment between Knowledge Graphs Using Attribute Embeddings 实体对齐数据集整理 名称 — DBpe-dia(DBP) LinkedGeoData(LGD) Geonames(GEO) YAGO ...

bjxxkjdxcdd的博客 1万+

5.7 BGP属-ORIGIN

注意:当去往同一个目的地存在多条不同Origin属性的路由时,在其他条件都相同的情况下,BGP将按如Origin的下顺序优选路由:IGP > EGP > Incomplete。通过以上输出可以看到路由表选择了R3发过来的路由,因为R1的路由的起源为?通过以上输出我们可以看到针对于1.1.1.1这条路由有两条,从R1和R3传过来的起源都属于IGP。(4)把从R1传过来的路由的起源改为incomplete。通过以上输出可以看到,从R1传过来的路由是最优的。(2)在R2上查看1.1.1.1的路由详细信息。

lwljh134的博客 308

Android Message源码阅读

本文梳理了Android Handler机制中Message的核心设计:链表结构、消息复用池(sPool)及回收机制,重点解析了异步消息与同步屏障(SyncBarrier)的协同机制。当主线程需优先处理UI绘制等高优先级任务时,系统通过postSyncBarrier插入屏障,使Looper跳过普通同步消息,优先执行标记为异步的UI渲染任务,确保帧率流畅。该机制是保障Android界面响应性的关键技术之一。

u012116089的博客 200

DRV8711驱动器的各寄存器的介绍

drv8711驱动器

PCLintelligence的博客 1634

安卓部署Linux性能实测:一颗移动处理器,能否胜任日常 Linux 开发?

本文通过在一加Ace5上部署NimoteCode的ARM64 Linux环境,测试了其在CoreMark、SQLite编译及并行构建中的表现。结果显示,尽管单核性能约2.34GHz,多核扩展比达6.15×,但优化编译耗时仍高达35秒,反映移动处理器虽具备一定开发能力,却受限于文件系统开销与运行环境(如PRoot)。实际开发中,非优化构建效率较高,而并行编译可显著提速。结论:安卓手机可作为轻量级开发辅助工具,但无法替代桌面环境,真正价值在于便携性与即时响应,而非全功能替代。

一个不知名码农的专栏 321

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

云手机私有化部署完整方案:基于ARM服务器搭建私有安卓云集群

ARM 服务器是私有化安卓云集群最优硬件底座,原生架构匹配 Android,高密度、低损耗,非常适合企业内网场景。整套私有化方案的核心,从来不是 “跑起来安卓”,而是隔离可控、可审计、可运维、可扩容。两条路线各有取舍:开源自建灵活、门槛高;商用私有化交付开箱即用、安全能力完备,是当前企业生产环境主流方案。六边云手机私有化方案,补齐了自建方案在驱动适配、管控平台、审计合规、信创适配上的短板,适合对数据主权、内网隔离有强需求的政企、自研 App、垂直行业客户。

a598652的博客 330

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

CTF 命令执行题学习笔记:终端特殊字符 $IFS 与 %09 的用法(HelloCTF RCE-labs)

空格被过滤时:用%09(TAB)或$IFS代替空格关键词被过滤时:用通配符?或字符类[f]拼出被禁的词,让 WAF 在原始字符串里看不到它,shell 在执行时再展开这类技巧在后续的命令执行题里会反复用到,建议亲手在靶机上敲一遍感受一下。

YY888888_的博客 542

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Android 开发入门实践(九):把新闻数据与页面状态交给 ViewModel

本文记录第110—117课学习成果:将页面标题、新闻列表及选中编号逐步迁移至NewsViewModel,通过ViewModelProvider获取实例并读取数据。页面调用ViewModel方法处理选择与返回,实现状态管理解耦。过程中纠正了对Activity重建机制的误解,并厘清mutableStateOf的可观察性与ViewModel对象生命周期的区别,深化了对Compose状态更新机制的理解。

Easyhood的博客 219

Android 17 全栈性能分析关键字与源码手册

FrameTimeline 找异常帧,ATrace 找阶段,thread_state 找等待类型,ftrace 找内核原因,Simpleperf 找 CPU 热点,驱动源码找最终触发条件;任何根因结论都必须回到同一对象、同一时间窗口和同一条依赖链。

weixin_43228946的博客 371

Android 顶点上传:Heap 到 Direct 的零拷贝,省的是 JNI 次数

一帧数十万次putFloat的性能瓶颈源于频繁跨JNI边界,每次开销远超传输字节数。通过将写入与上传解耦:用堆内ByteBuffer高速写入,最后一次性put(writeBuf)批量传至堆外DirectByteBuffer,将数百万次边界调用压缩为一次,实现近10倍性能提升。关键在于复用堆外缓冲区、统一端序,并结合“更新-绘制”分离,仅在数据变更时上传顶点,平移缩放时零开销重绘,彻底释放CPU瓶颈。

mmsx990的博客 477
上一篇: 深入分析TaskView源码之触摸相关
下一篇: HIDL实战开发-千里马android framework车载车技手机系统开发
千里马学框架
博客等级 码龄6年 1万+粉丝 650原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

千里马学框架

帮助你了,就请我喝杯咖啡

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

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

打赏作者

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

抵扣说明:

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

余额充值