Android 使用AOSP build闪存Nexus 7后,无法使蓝牙和摄像头正常工作
我正在为我的Nexus 7平板电脑构建自定义图像。我遵循了Android官方的设备构建文档,还提取了Proprity供应商的二进制文件 除了蓝牙和摄像头外,所有功能都运行良好。通过阅读源代码,我意识到当试图调用Android 使用AOSP build闪存Nexus 7后,无法使蓝牙和摄像头正常工作,android,bluetooth,android-source,Android,Bluetooth,Android Source,我正在为我的Nexus 7平板电脑构建自定义图像。我遵循了Android官方的设备构建文档,还提取了Proprity供应商的二进制文件 除了蓝牙和摄像头外,所有功能都运行良好。通过阅读源代码,我意识到当试图调用/system/bin/hci\u qcomm\u init二进制文件时,/etc/init.flo.bt.sh失败。手动运行hci\u qcomm\u init会出现以下错误: shell@flo:/ # hci_qcomm_init
/system/bin/hci\u qcomm\u init
二进制文件时,/etc/init.flo.bt.sh
失败。手动运行hci\u qcomm\u init
会出现以下错误:
shell@flo:/ # hci_qcomm_init
CANNOT LINK EXECUTABLE: empty/missing DT_HASH in "hci_qcomm_init" (built with --hash-style=gnu?)
类似地,对于camera,我意识到mm qcamera守护进程
没有在手机上运行(大部分不是在初始化过程中启动的)。如果我尝试手动启动它:
shell@flo:/ # mm-qcamera-daemon
CANNOT LINK EXECUTABLE: empty/missing DT_HASH in "mm-qcamera-daemon" (built with --hash-style=gnu?)
我不是在寻找明确的答案,但有人能指出手机上这些二进制文件到底出了什么问题吗?根据这篇文章,二进制文件可能会使用不同于系统库的哈希编译器选项。您可以尝试更改Android build中的gcc编译器选项,以匹配用于二进制文件的选项
我不记得这些编译器标志是在AOSP中定义的,但是…您正在尝试构建哪个分支?您是否修改了任何内容?对于Android、Linux内核或类似的复杂系统,最好不改变现有的配置,这样您就可以知道任何困难都应该归咎于什么。您的错误似乎表明一个二进制文件与设备上的动态加载程序不兼容,但它可能是一个用于不同版本的二进制文件,或者可能不是一个未正确安装的可执行文件。您还可以安装factory映像并检查相应的文件以进行比较。从主分支生成。我可能应该在flo发布分支上尝试这一点。为了在分支上更新,我有一个2013 Nexus 7 flo设备,并且我正在使用以下构建/分支:LRX22G android-5.0.2_r1棒棒糖Nexus 7(flo/deb/grouper/tilapia),Nexus 10不幸的是,没有任何变化,摄像头蓝牙无法工作