我有一部搭载骁龙820的手机。我成功修改了它的
boot.img
,更改了它的启动动作,使其可以启动Ubuntu。我花了一周时间才让它的屏幕和 WiFi 正常工作。现在我正在努力使其相机正常工作。但我发现了一些问题,并花了很多时间试图解决它们。通过研究资料和阅读一些大佬的博客,我发现直接访问高通Android平台上的摄像头并不是一件容易的事。由于高通的摄像头驱动与传统摄像头驱动不同,导致我无法使用v4l2 utils访问摄像头并获取数据。目前,我找到了以下可能的解决方案:
无论如何,我的问题是:
提前致谢。
其实我的手机原生Android系统中已经有编译好的动态库了。因此,我可以通过dlopen函数动态加载动态库。于是,我尝试使用Ubuntu上安装的gcc编译器来加载动态库,但是在加载动态库时遇到了一些难以解决的错误。我想应该是Ubuntu上下载的gcc编译器和Android系统编译时使用的编译器不兼容。所以我尝试下载最新版本的NDK。最后,通过阅读高通的mm-qcamera-interface源代码并使用NDK编译我的程序,我可以通过编写程序直接访问相机并获取数据。