Как собрать CyanogenMod против HTC One X
Я пытался собрать CyanogenMod против HTC One X, следуя инструкции:
http://wiki.cyanogenmod.org/w/Build_for_endeavoru.
Но это руководство устарело, и я столкнулся с некоторыми проблемами:
Не могу найти информацию о продавце
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' ** У вас есть правильный манифест репо?
Нет больше 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
путь, как и ожидалось. Таким образом, вы могли бы снова попробовать.
Удачи!