Избегайте выбора исходного кода для Android-устройства

Я работаю с исходным кодом Android. Каждый раз, когда я делаю repo sync, я получаю загрузку загрузок репозиториев, специфичных для устройства, которые мне не нужны, потому что я буду использовать только одно устройство, скажем, HTC Ace.

Есть ли способ избежать таких накладных расходов?

Ответ 1

Как уже сказал кто-то другой, локальный манифест может использоваться для исправления исходного манифеста. Однако манифесты также могут группировать проекты в группы, и вы можете использовать параметр -g для repo init, чтобы выбрать группы проектов, которые вы хотите загрузить.

Я думаю, что все устройства, которые вас не интересуют, были помещены в группу "устройство", поэтому исключение этой группы путем префикса ее дефисом должно выполнить то, что вы хотите. Набор групп по умолчанию - "default, platform-platform", например. "default, platform-linux" или "default, platform-darwin", хотя запись в формате платформы - * не совпадает с тем, как были отмечены теги AOSP. В любом случае, это должно избавиться от нежелательных проектов:

repo init -u ... -g default,-device

Вы можете вытолкнуть манифест (.repo/manifest.xml), чтобы найти дополнительные группы, которые вас не интересуют.

Ответ 2

Способ aOS, возможно, должен использовать инструмент репо для исключения или включения определенных пакетов. Лучший способ сделать это - это, вероятно, добавить свой собственный локальный манифест, который удалит пакеты, которые вам не нужны. Например, вот пример файла:

<manifest>
  <remote name="origin"
           fetch="ssh://[email protected]/MyRepository/" />
  <remove-project name="device/lge/hammerhead"/>
  <remove-project name="device/lge/mako"/>
</manifest>

Бросьте это в файл remove_manifest.xml(вы можете назвать его, что захотите) и поместите его в .repo/local_manifests в вашем репозитории.

Cyanogen документировал local_manifests для всех нас, поэтому вы можете вернуться к их работе здесь: Использование локальных манифеста