我正在尝试将本地编译版本的Android开源项目安装到Nexus 5x设备上。
Android version: 6.0.1
Lunch setting: aosp_bullhead-userdebug
设备,解锁和快速启动模式下提供以下信息:
VARIANT - bullhead LGH791 16GB
BOOTLOADER VERSION = BHZ10p
BASEBAND VERSION = M8994F-2.6.32.1.12
我已经下载并运行了供应商从https://developers.google.com/android/nexus/blobs-previewNexus 5x。
此设置编译并引导设备(使用fastboot flashall -w
推送,但没有Camera应用程序(无法访问设备上的互联网,因此无法下载并确认任何内容。我想我可以从机器推送APK),并且会出现一个对话框,警告内部错误。我在logcat中反复收到这个错误:
libc : CANNOT LINK EXECUTABLE "/vendor/bin/mm-qcamera-daemon": cannot locate symbol "_ZN7android13SensorManager13getSensorListEPPKPKNS_6SensorE" referenced by "/vendor/lib/liboemcamera.so"...
一些谷歌搜索让我相信这是由于供应商的二进制文件实际上并不完整。经过进一步的搜索,我找到了这里https://github.com/anestisb/android-prepare-vendor
我已经在从developers.google.com/android/nexus/images#bullhead
下载的bullhead-mtc19z-factory-9f649f91.tgz
上运行了这组脚本,并用生成的供应商文件夹替换了AOSP源树中的vendor/
目录,但编译和引导这只会使设备在根据adb logcat
引导的过程中陷入某种错误循环
有人能建议如何成功地闪光吗?
我通过为android 6.0.1_r62制作一个干净的repo-init来解决这个问题,下载它,编译它并将它闪烁到设备上。闪烁的rom现在可以访问相机了。
我还使用了谷歌提供的预览二进制提取脚本来生成供应商/目录,在这种情况下,这些脚本似乎比我以前的树中提取了更多的文件,我不知道这些脚本最近是否发生了变化,或者我现有的树是否有问题(我先在模拟器中为不同的android版本构建了它,然后切换)。
如果有人能对所发生的事情给出具体的解释,我会接受这个答案。