Как скомпилировать Android 4.4.2 для систем Qualcomm MSM?

Мне нужно, чтобы родная камера OpenCV работала на устройстве, использующем версию Android с изменениями Qualcomm для систем snapdragon (Android 4.4.2). Основываясь на ответе на этот отчет об ошибке, мне нужно скомпилировать целевое дерево Android для моего проекта, чтобы ссылка, когда я компилирую собственную библиотеку камер OpenCV.

Я определил этот тег как относящийся к устройству: LNX.LA.3.6-00210-8084.0.

Я получил источник с

repo init -u git://codeaurora.org/platform/manifest.git -b release --repo-url=git://codeaurora.org/tools/repo.git --repo-branch=caf-stable

синхронизация репо

Ветка по умолчанию — 4.0.4. Я попытался проверить свой тег с помощью

repo forall -c git checkout LNX.LA.3.6-00210-8084.0

Однако у многих подпроектов этот тег отсутствовал. В результате проекты казались рассинхронизированными/непревзойденными. У меня есть сильное ощущение, что это неправильный способ перехода на дерево MSM 4.4.2, но мне не удалось найти правильный способ сделать это. После попытки проверить тег в каждом проекте я получаю ошибки при запуске обеда

build/core/product_config.mk:223: *** Не удается найти make-файл конфигурации для продукта "aosp_arm". Останавливаться.

** Нет спецификации продукта для: 'aosp_arm' ** Есть ли у вас правильный манифест репозитория?

После того как я клонирую исходный код с помощью репозитория, какие команды мне нужно выполнить, чтобы привести проекты в готовое для сборки состояние для MSM 4.4.2 — в частности, тег LNX.LA.3.6-00210-8084.0? Нужно ли запускать другую команду репо при первой инициализации?


person Benjamin Sergent    schedule 21.04.2015    source источник


Ответы (1)


Согласно вики-странице проекта CodeAurora для Android для MSM, команда Repo, используемая для последних выпусков,

$ repo init -u git://codeaurora.org/platform/manifest.git \
    -b release -m [manifest] \
    --repo-url=git://codeaurora.org/tools/repo.git \
    --repo-branch=caf-stable

где [манифест] — имя файла манифеста. Я не могу найти справочную таблицу, которая связывает файлы манифеста (названные в честь внутренних имен выпусков CAF) с выпусками AOSP, но вы сами сказали, что вам нужен LNX.LA.3.6-00210-8084.0, так что давайте с этим. И действительно, такой файл манифеста есть в релизе ветвь платформы CAF/manifest.git. Следовательно:

$ repo init -u git://codeaurora.org/platform/manifest.git \
    -b release -m LNX.LA.3.6-00210-8084.0.xml \
    --repo-url=git://codeaurora.org/tools/repo.git \
    --repo-branch=caf-stable

В качестве примечания, на repo forall -c git checkout name-of-tag не следует полагаться, поскольку разные выпуски могут иметь разные наборы git в своих манифестах. Эта команда работает только в том случае, если у вас уже есть точно такой же набор git в вашем текущем манифесте и тот, на который вы хотите переключиться.

person Magnus Bäck    schedule 21.04.2015
comment
Конечно. На самом деле я пробовал что-то подобное, но не подумал добавить .xml к имени тега. Теперь у меня работает сборка, спасибо! - person Benjamin Sergent; 21.04.2015