Android是个开源的操作系统,所以可以选择的开发方式主要有两种:
- Android系统开发(移植);
- Android应用开发
1.Android系统开发(移植)
Android系统开发(移植)属于底层的开发工作,主要针对Android系统本身进行完善和将其移植到其它的硬件平台,因此需要掌握Android系统构架中的Linux内核层和系统运行库层。
Android系统开发主要涉及Libraries和Android runtime这两部分内容,一般就是在本地编写C/C++代码,然后通过JNI向上层提供调用接口,主要是为应用开发提供服务等工作。
Android系统移植则主要涉及硬件抽象层和Linux内核层,移植的主要工作是将驱动移植到不同平台上,使其能够完美得运行Android系统。这些驱动又主要包括设备驱动和Android专用驱动。
2.Android应用开发
Android应用开发主要是根据Android系统所提供的API来完成各种应用程序的编写,所使用的API属于Android的应用框架层。如果Android系统没有提供某些API,那么只能通过Android系统底层编写C/C++代码来开发这些API并向Android应用框架层提供接口,但是这样有可能会导致你的应用程序与其他Android系统不兼容。应用开发属于上层开发。