我已按照指南
尝试针对HTC One X构建CyanogenModhttp://wiki.cyanogenmod.org/w/Build_for_endeavoru。
但是这个指南已经过时了,我遇到了一些问题:
找不到供应商信息
evans @ host:〜/ android / system $ breakfast endeavoru 包括vendor / cm / vendorsetup.sh build / core / product_config.mk:238: * _nic.PRODUCTS。[[device / htc / endeavoru / cm.mk]]:“vendor / htc / endeavoru / endeavoru-vendor.mk”不存在。停止。 找不到设备。尝试从CyanogenMod Github(http://github.com/CyanogenMod)检索设备存储库。 找到存储库:android_device_htc_endeavoru 默认修订版:cm-10.2 检查分支信息 CyanogenMod / android_device_htc_endeavoru已经存在 同步存储库以检索项目。 获取项目CyanogenMod / android_device_htc_endeavoru 获取项目:100%(1/1),完成。存储库已同步! 寻找依赖 完成 build / core / product_config.mk:238: * _nic.PRODUCTS。[[device / htc / endeavoru / cm.mk]]:“vendor / htc / endeavoru / endeavoru-vendor.mk”不存在。停止。
**没有产品规格:'cm_endeavoru' **你有正确的回购清单吗?
不再有extract-files.sh。
那么我该如何从我的设备中提取专有文件呢?
我发现有一个copy-and-setup-makefiles.sh
,是否用来代替extract-files.sh
?怎么用?
答案 0 :(得分:0)
如果您正在尝试构建CyanogenMod 12(基于Android 5.0 Lollipop),您需要对CyanogenMod 11(基于Android 4.4.4 KitKat)的构建说明进行一些更改,这些更改(当时是写于2014年1月),链接在维基上。你需要为Lollipop做的改变包括:
repo init -u https://github.com/CyanogenMod/android.git -b cm-12.0
openjdk-6-jdk
和openjdk-6-jre
替换为openjdk-7-jdk
和openjdk-7-jre
。 (这两个版本可以同时安装。)get-prebuilts
步骤。您在上面发布的构建错误似乎是由于缺少文件和.mk makefile将它们复制到$ OUT目录以进行安装。这些文件通常从库存安装移动到/vendor/manufacturer/device_codename
目录(例如/vendor/htc/endeavoru
),以便在CM12中安装回您的设备。 extract-files.sh
脚本通常是将这些blob从现有安装(例如stock)归档到源代码树的方法。您可以在名为提取专有blob 的维基部分中阅读有关它的更多信息。
你说没有extract-files.sh
脚本,但我确实在cm-12.0设备树中找到了一个here(以及一个cm-11.0一个here) device/htc/endeavoru/extract-files.sh
路径符合预期。所以你可以再试一次。