2014-02-05 2 views
1

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

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

ответ

3

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

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

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

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

.
1

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

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

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

Циан документировал local_manifests для всех нас, так что вы можете вернуться к своей работе здесь: Using Local Manifests

Смежные вопросы