實際上HAL對於linux內核來講就至關於應用程序,內核驅動提供訪問硬件的接口,而HAL的主要目的就是把這些接口進行封裝。讓用戶看不到是如何操做硬件接口的。達到保密的效果。而JNI也就是native層 所作的就是將HAL包裝好的接口 進行處理暴露給JAVAlinux
======================接口
HAL硬件抽象層,
第一個目的是統一接口,驅動寫在HAL層。
第二個目的是保護技術機密,無需開源代碼。
HAL提供了統一的 註冊模塊,調用模塊的接口。
C/C++ 在Framework中實現 調用HAL中的接口,JAVA層經過JNI來調用 C/C++接口硬件