不是的,android 主要是ap ---jni----hal ----llinux 驱动
创新互联公司基于分布式IDC数据中心构建的平台为众多户提供四川绵阳服务器托管 四川大带宽租用 成都机柜租用 成都服务器租用。
是从上到下的一个过程。
其实操作系统大概都是这样的。
android是基于linux的开源操作系统。
linux是使用标准C语言开发的操作系统。
android底层驱动以及操作系统内核使用C语言以及汇编开发。
android操作系统本身是使用Java开发,并使用JNI调用本地的C语言库,实现操作系统底层调度。
android应用是使用Java开发;同时也可以使用C/C++ native开发,但是多数时候不用用到C。所以基本上就是Java为标准开发语言。
android使用了修改过的JVM(Java虚拟机)叫做dalvik虚拟机,其本质还是Java虚拟机。
所以对应每一个APP都会创建个dalvik虚拟机,也就是一个linux进程。
说复杂了,其实就是基于linux下的修改版Java虚拟机,运行java程序。
BSP全称 Board Support Package 介于主板硬件和操作系统中驱动层程序之间的一层,一般认为它属于操作系统一部分,主要是实现对操作系统的支持,为上层的驱动程序提供访问硬件设备寄存器的函数包,使之能够更好的运行于硬件主板
以前的Windows Mobile及现在的Android都有BSP。均要进行驱动层的开发,以使操作系统能正常调用主板所有功能。一般的,可能会有 存储驱动,显示驱动,蓝牙驱动,Wifi驱动,通讯模块驱动,keypad驱动,电源管理驱动等等。
没有哪个语言是永远的金饭碗。重要的是你的学习能力,以及不断吸取新知识,不断进取。现在ANDROID应用范围远远超过做底层驱动的。驱动层需要功力深厚,现在入门菜鸟,不建议直接拿它做找工作的目标。ANDROID上手快,找到工作后自己有兴趣也可以再自学底层。我是底层系统层应用层都有涉及,不过没有非常精通。