news 2026/4/16 13:06:43

Android开发(总结)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Android开发(总结)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

目前市面关于嵌入式开发一般是分成这么几种,有51单片机开发,有mcu开发,还有linux开发,最后一种就是android开发。如果是android开发,又可以分成app开发和驱动开发两种。对于小公司来说,干的最多的就是app开发,只有在额外添加硬件的时候,才会涉及到驱动开发。

一、Android开发是什么

android开发类似于linux开发,但是不等于linux开发。大部分linux开发,一般都是c语言,或者是c++语言。基本上理解了uboot、kernel、rootfs,就知道linux开发是怎么回事了。但是android对linux kernel做了魔改,同时增加了hal层和framework层。

二、HAL层的真正作用

所谓的hal层,也就是硬件抽象层,其实可以看成是把一部分驱动代码,提高到hal层来完成。linux驱动,一般有明显的定义,并且大部分驱动代码都是放在kernel里面完成的。但是这部分代码一般都要求open source出来。这样一来,很容易让soc厂家的权益收到损害。所以,针对这一种情况,会一部分代码放到kernel,一部分代码放到hal。两个加在一起构成完成的device driver。这就是hal层的真正意义。

三、Framework层的定位

本身android的上层,都是用java开发的。所以,android里面肯定有一个虚拟机。除此之外,还有一个framework层。这些层上对接各个app,下对接各个hal接口,处于一个中间件的状态。窗口的管理、消息的管理、设备的管理、权限的管理、音视频的管理,这部分都是framework来管理的。所以在android里面,app是没有办法直接操作设备的,必须借助于framework层才能访问设备。

四、Android适合的应用场景

android本身可以用于手机开发,也可以用于平板开发,还可以用于各个开发板。并且它的生态是非常丰富的。很多soc芯片的代理商,或者是方案公司,都喜欢基于原厂的公版+android镜像,做二次开发,这样又快又好。所以,如果本身只是用android来做一些上层应用,比如显示屏,比如pad应用,比如纯信息类、网络类应用,用android开发是非常方便的。就算涉及到一些外设,比如视频、音频、camera,也是可以通过android sdk处理的,这是最理想的场景。

五、小公司如何高效使用Android

小公司来说,一般人员都是非常有限的。他们无法像大公司一样,对framework和hal进行魔改。这种情况下,小公司最好的方式就是尽可能复用官方的android image。只有在需要port driver的时候,才去做一些driver适配的动作。除此之外,原来image中的framework、hal尽量不要修改。我们开发的时候,最多添加一些设备、做一些特色app,这样就可以达到开发的目的,也能最大程度复用android的生态环境。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 12:33:06

D3KeyHelper暗黑3自动化助手:告别重复操作,享受游戏乐趣

D3KeyHelper暗黑3自动化助手:告别重复操作,享受游戏乐趣 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面,可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper 还在为暗黑3中枯燥的…

作者头像 李华
网站建设 2026/4/15 11:36:48

Windows苹果设备驱动完整安装终极指南:5分钟解决连接问题

Windows苹果设备驱动完整安装终极指南:5分钟解决连接问题 【免费下载链接】Apple-Mobile-Drivers-Installer Powershell script to easily install Apple USB and Mobile Device Ethernet (USB Tethering) drivers on Windows! 项目地址: https://gitcode.com/gh_…

作者头像 李华
网站建设 2026/4/10 14:45:04

全球SIM卡解锁新体验:Nrfr让数字边界消失

全球SIM卡解锁新体验:Nrfr让数字边界消失 【免费下载链接】Nrfr 🌍 免 Root 的 SIM 卡国家码修改工具 | 解决国际漫游时的兼容性问题,帮助使用海外 SIM 卡获得更好的本地化体验,解锁运营商限制,突破区域限制 项目地址…

作者头像 李华
网站建设 2026/4/15 17:26:23

Keil5中如何添加C语言源文件的完整指南

Keil5中添加C语言源文件:从入门到实战的完整实践指南你有没有遇到过这样的场景?写好了一个UART驱动usart.c,兴冲冲打开Keil5准备编译,结果编译器冷冷地甩出一句:fatal error: usart.h: No such file or directory或者更…

作者头像 李华
网站建设 2026/4/15 15:01:24

Qwen3-Reranker-0.6B实战:构建智能问答系统的排序模块

Qwen3-Reranker-0.6B实战:构建智能问答系统的排序模块 1. 引言 在现代智能问答系统中,检索与排序是决定用户体验的关键环节。传统的信息检索方法往往依赖关键词匹配或简单的语义相似度计算,难以应对复杂查询和多语言场景下的精准排序需求。…

作者头像 李华
网站建设 2026/4/14 12:27:24

UDS 31服务ECU实现过程中的常见问题解析

UDS 31服务在ECU实现中的“坑”与实战避险指南你有没有遇到过这样的场景?产线刷写卡在预检环节,诊断仪发了31 01 XX XX后石沉大海;或者OTA升级前的环境检查刚启动,ECU直接复位重启;更严重的是,非授权设备误…

作者头像 李华