我正在使用Android源代碼。每次我做repo sync
我都會下載我不想要的特定於設備的軟件倉庫,因爲我只會針對一款設備,比如說HTC Ace。避免獲取設備特定的Android源代碼
有沒有辦法避免這種開銷?
我正在使用Android源代碼。每次我做repo sync
我都會下載我不想要的特定於設備的軟件倉庫,因爲我只會針對一款設備,比如說HTC Ace。避免獲取設備特定的Android源代碼
有沒有辦法避免這種開銷?
正如別人已經有了建議,當地清單可以用來修補原始艙單。但是,清單也可以將項目放入組中,您可以使用-g
選項至repo init
來選擇要下載哪些項目組。
我認爲你不關心的所有設備都會放在「設備」組中,因此通過在連字符前加上連字符來排除該組應該可以達到你想要的效果。默認的一組組是「默認的,平臺平臺」,例如, 「default,platform-linux」或「default,platform-darwin」,儘管platform- *條目看起來不符合AOSP項目標記的方式。無論如何,這應該擺脫不必要的項目:
repo init -u ... -g default,-device
您可以將清單(.repo/manifest.xml
)周圍戳來發現你不感興趣的其他組
aosp的做事方式可能是使用repo工具排除或包含特定的軟件包。這樣做的最佳方式可能是通過添加您自己的本地清單來刪除不需要的包。例如,這裏有一個例子文件:
<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