Android体系结构

这张图,估计有开发App或者接触安卓的基本都有看过吧,而且不止一两次的问题了,如果不是的话,那你就要好好恶补一下了



其中Linux内核驱动部分是属于linux的范畴了,linux是作为一个程序员必须关注的,虽然我用的不多,但是多多少少也是用过Arm-linux驱动等各种编译的小程序的编写,接触过s3c2440的芯片的时候(大三),现在也是不断在学习中,作为一个程序员VM是少不了的

第一层:

linux层,虽然开发App时基本不会接触到,但是很多面试场合都会涉及到这一层,驱动层有个非常重要的部分就是binder,这是个IPC专为嵌入设备设计的跨进层通信

第二层:

这里就是C/C++运行程序或者库文件.so,这里我们是通常使用ndk来编写我们的程序,那可以使用arm-linux-gcc吗?由于安卓的系统下,很多依赖文件及其路劲与linux下的不一,所以如果使用arm-linux-gcc时不能直接用动态连接的方式的,这里还有android Runtime这个关键的部分,它使用Android可以解析java字节码

第三层:

这里基本是Java api,或者是使用JNI接口得以与第二层关联的一层,这里没太多介绍

第四层:

App层,App程序员开发第三方软件的一层


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值