发布网友 发布时间:2022-04-23 06:35
共2个回答
热心网友 时间:2023-09-25 03:32
嗯,通过HAL完成,硬件抽象层,但是和一般的Linux驱动有一定的区别,有其自身的规则追问他有个jni层,jni通过注册函数给上层提供接口,通过数据结构访问硬件接口层,而硬件抽象层实现了硬件接口层的一些本地函数用来为上一层访问,HAL是在linux底层实现的嘛
追答JNI层就是完成java和HAL中C语言等交互,HAL一般都设计到对底层驱动的操作,包括设备的打开啊初始化之类的。JNI经常由C或者C++完成,提供本地方法的实现,一般Framwork层会声明一下Native的本地函数,然后这些函数在JNI实现调用HAL层,Framwork使用的是Java语言,做一些类的封装。一般的Android的API就是做到这里为止
热心网友 时间:2023-09-25 03:33
类似与在linux上装了QT一样,android通过抽象层调用底层的设备驱动