必要な部分だけをダウンロードする必要があるようです。他のパラメーターを指定せandroid update sdk --no-ui
ずに を実行すると、すべてがダウンロードされるため、時間がかかり無駄になります。
--filter
必要なパッケージを決定し、更新を行うたびにそれらを使用するためのパラメーター。ここでそれを行う方法についてのより詳細な説明があります(さらにandroid
コマンドについてはこちら)。
必要なコンポーネントを定期的に変更する場合 (たとえば、別のプラットフォームをターゲットにする場合)、さまざまなフォルダーの下にある不要なコンポーネント (たとえば、下の API android-sdk-linux/platforms
) を削除するスクリプトを作成し、必要なコンポーネントだけで再作成することができます。 .
このandroid list sdk -e
コマンドは、パラメーターで使用できるパッケージの拡張リストを提供するため、--filter
特定のコンポーネントのみをインストールできます。
コマンドを使用してライセンスプロンプトを自動的に受け入れる優れた回答の自動化された方法を確認した後expect
、他のすべてをダウンロードせずに必要なコンポーネントをインストールおよび更新することになりました(Ubuntuで):
expect -c '
set timeout -1;
spawn /opt/android-sdk-linux/tools/android update sdk --no-ui --filter tools,build-tools-20.0.0,platform-tools,android-16,extra-android-support,extra-android-m2repository;
expect {
"Do you accept the license" { exp_send "y\r" ; exp_continue }
eof
}
'
ダウンロードをこれらの部分のみに制限するパラメーターでtools,build-tools-20.0.0,platform-tools,android-16,extra-android-support,extra-android-m2repository
指定されたコンポーネントに注意してください。--filter
このスクリプトを 1 回実行すると、それらのコンポーネントだけがダウンロードされます。再度実行すると、何も更新する必要がないと判断されますが、紛らわしい一連のメッセージが表示されます。
Error: Ignoring unknown package filter 'tools'
Error: Ignoring unknown package filter 'build-tools-20.0.0'
Error: Ignoring unknown package filter 'platform-tools'
Error: Ignoring unknown package filter 'android-16'
Error: Ignoring unknown package filter 'extra-android-support'
Error: Ignoring unknown package filter 'extra-android-m2repository'
Warning: The package filter removed all packages. There is nothing to install.
Please consider trying to update again without a package filter.
これらのメッセージは、何も更新されていないことを意味するだけ--filter
です。仕様に含まれるコンポーネントは、実際にはアンインストールされません。