Избегайте выбора исходного кода для 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 для всех нас, поэтому вы можете вернуться к их работе здесь: Использование локальных манифеста