Как собрать CyanogenMod против HTC One X

Я пытался собрать CyanogenMod против HTC One X, следуя инструкции:

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

Но это руководство устарело, и я столкнулся с некоторыми проблемами:

  1. Не могу найти информацию о продавце

    evans @ host: ~ / android / system $ завтрак 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.

Итак, что я должен сделать, чтобы извлечь проприетарные файлы с моего устройства?

Я нашел там copy-and-setup-makefiles.sh Используется вместо extract-files.sh? Как это использовать?

1 ответ

Если вы пытаетесь собрать CyanogenMod 12 (на основе Android 5.0 Lollipop), вам нужно внести несколько изменений в инструкции по сборке CyanogenMod 11 (на основе Android 4.4.4 KitKat), которые (когда это было написано в январе) 2014), ссылка на которую есть в вики. Среди изменений, которые вам нужно сделать для Lollipop:

  • Сначала убедитесь, что есть ветка cm-12.0 для вашего устройства и репозиториев ядра. Я вижу, что для endeavoru - вашего устройства, 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-jdk а также openjdk-6-jre с openjdk-7-jdk а также openjdk-7-jre, (Две версии могут быть установлены одновременно.)
  • CyanogenMod 12 не имеет никаких "готовых" приложений (в предыдущих версиях rom-manager.apk и term.apk были предварительно собраны, но больше нет), поэтому вы можете пропустить get-prebuilts шаг.

Похоже, что ошибка сборки, которую вы разместили выше, связана с отсутствующими файлами и make-файлами.mk, которые копируют их в каталог $OUT для установки. Файлы обычно перемещаются из стандартной установки в /vendor/manufacturer/device_codename каталог (например, /vendor/htc/endeavoru) для установки обратно на ваше устройство в CM12. И extract-files.sh Сценарий, как правило, представляет собой метод архивации этих BLOB-объектов из существующей установки, такой как stock, в дерево исходного кода. Вы можете прочитать об этом больше в вики-разделе " Извлечение проприетарных BLOB-объектов".

Вы сказали, что нет extract-files.sh сценарий, но я вижу один в дереве устройств cm-12.0 прямо здесь (так же как см-11.0 здесь) в device/htc/endeavoru/extract-files.sh путь, как и ожидалось. Таким образом, вы могли бы снова попробовать.

Удачи!

Другие вопросы по тегам