2011-07-22 152 views
1

我是Android應用程序開發人員。出於某些原因,我應該改變一下Android內核。但我對內核一無所知。如果有人向我介紹一個解釋android內核模塊和其他相關信息的網站,我將不勝感激。Android內核修改

回答

9

在標準的Android開源發行版中,內核作爲預構建的二進制文件分發到mydroid/prebuilt/android-arm/kernel文件夾中,並且不包含源代碼。由於兩個原因,內核源碼已從默認清單中刪除。其中之一是,平臺組件需要大量的帶寬和磁盤空間,大多數人不會使用太多。另一個原因是,由於內核是用內核構建系統構建的,而不是作爲aosp構建系統的一部分,因此保持它的分離是有意義的。內核的公共分支是仿真器使用的分支。還有實驗,msm(Qualcomm平臺)和Omap(TI平臺)的分支,可能還有更多。如果你想用硬件來使用Android內核,這些可能對你更有意思。

  • 無論是通過運行其添加到您的回購清單或手動下載Android內核: 混帳克隆git://android.git.kernel.org/kernel/common.git

  • 這種方式構建應在拱/ ARM/boot文件夾結束內核你的內核樹(你把代碼從git克隆的地方)

  • 請注意,我已經在上面的描述中使用了默認路徑,您需要將它們更改爲適用於您的設置的內容。自從我上次測試這段時間以來已經有一段時間了,但我認爲它應該起作用。

通過下列網站,這也將給你一些想法。

Android PortingAndroid PlatformAndroid-Pdk

Android porting in real targetBuild-compile-linux-kernel-android

我想,既然你在談論內核編程,你也想辦法連上新的硬件與平臺,並使用公開該功能您的應用程序的框架擴展。硬件基本上是作爲一個標準的Linux驅動程序添加的,所以在Linux下運行它是很好的第一步。如何在Android框架中掛鉤它取決於它是什麼類型的硬件。您可以使用本地進程來控制它(比較當前平臺中的攝像頭服務或無線電守護進程),也可以在使用框架擴展的應用程序中產生一個線程。對於那些不需要太多注意的硬件,使用Android HAL庫來插入它也可以作爲選項