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系統不兼容。應用開發屬於上層開發。