如何针对HTC One X构建CyanogenMod

时间:2014-01-10 10:04:51

标签: android cyanogenmod

我已按照指南

尝试针对HTC One X构建CyanogenMod

http://wiki.cyanogenmod.org/w/Build_for_endeavoru

但是这个指南已经过时了,我遇到了一些问题:

  1. 找不到供应商信息

    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' **你有正确的回购清单吗?

  2. 不再有extract-files.sh。

  3. 那么我该如何从我的设备中提取专有文件呢?

    我发现有一个copy-and-setup-makefiles.sh,是否用来代替extract-files.sh?怎么用?

1 个答案:

答案 0 :(得分:0)

如果您正在尝试构建CyanogenMod 12(基于Android 5.0 Lollipop),您需要对CyanogenMod 11(基于Android 4.4.4 KitKat)的构建说明进行一些更改,这些更改(当时是写于2014年1月),链接在维基上。你需要为Lollipop做的改变包括:

  • 首先确保您的devicekernel存储库有一个cm-12.0分支。我认为,对于努力 - 你的设备,HTC One X--就是这种情况。
  • 要初始化存储库,您需要将cm-11.0替换为cm-12.0,以便init命令看起来像:repo init -u https://github.com/CyanogenMod/android.git -b cm-12.0
  • CyanogenMod 12是使用Java 7构建的 - 因此将openjdk-6-jdkopenjdk-6-jre替换为openjdk-7-jdkopenjdk-7-jre。 (这两个版本可以同时安装。)
  • CyanogenMod 12没有任何“预建”应用程序(以前的版本将rom-manager.apk和term.apk作为预建,但不再使用),因此您可以跳过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一个heredevice/htc/endeavoru/extract-files.sh路径符合预期。所以你可以再试一次。

祝你好运!