2013-05-28 4 views
5

背景:私はandroid-sdkhomebrew経由でインストールし、Chef-solo環境をセットアップする、ヘッドレスOSXワークステーションブートストラップスクリプトを作成しました。わかりやすいツール/予測可能な名前のリモートホストファイルがソリューションのテーブルにあるため、これについて言及します。'android'コマンドラインユーティリティを使用して、特定のシステムイメージバージョンを対象としていますか?

私の問題: 私はAndroid API 16のシステムイメージが必要ですが、android CLIユーティリティを使用して正しいフラグ/パッケージの名前空間を見つけることができないようです。 android update sdk -u --filter android-16を使用して4.1.2/API 16 SDKプラットフォームをインストールできましたが、引き続きエミュレーション用のシステムイメージが必要です。

android update sdk -u --filter system-image installs API 17/4.2.2。

android list sdkを実行してもgrepベースのソリューションを実行しないようにしたいと思いますが、これはオプションであるとは限りません(android list sdk | grep 'API 16'は実を結びません)。

私はandroid CLIユーティリティは、そのパッケージリスト(http://dl-ssl.google.com/android/repository/sys-img/x86/sys-img.xml)を列挙するために呼び出してXMLファイルを見て、私は、私が欲しいhttp://dl-ssl.google.com/android/repository/sys-img/x86/sysimg_x86-16_r01.zipを信じているファイルへのリンクを見つけたが、私はパースで興奮していないよましたXML +は既存のユーティリティーオプションの周りを移動します。

私はthis other SO postを見てきましたが、役立っていますが、私がしようとしていることを完全にカバーしていません。

フラグがないか、間違ったパッケージ名を使用していますか?もしそうなら、どのドキュメンテーション・ソースを見逃しましたか?私はこれを将来どのように解決することができますか?

答えて

7

個別のパッケージ識別子を使用できるようになりました。あなたの場合、のいずれかの場合:

echo y | android update sdk --no-ui --filter sys-img-x86-android-16 --all 
echo y | android update sdk --no-ui --filter sys-img-armeabi-v7a-android-16 --all 
echo y | android update sdk --no-ui --filter sys-img-mips-android-16 --all 

それなしで、androidが、それは彼らがフィルタに一致する場合でも、古い考えて、パッケージを無視するので、--allが必要です。

識別子のリストはandroid list sdk --extended --all

+0

です。答えを加える時間をとってくれてありがとう。私はあなたの答えを将来の視聴者を助けるために受け入れました。このオプションが元に戻ったり、うまく動作しなかったり、古いバージョンのアンドロイドツールを使用している場合は、私の回答を残しておきます。 –

2

ちょっとハックした解決策ですが、ここではその方法を説明します.CLIコマンドを実行する際に問題を発注してください。

は、4.1.2 SDKプラットフォームをAndroidのAPI 16を取得:

echo -ne 'y' | android update sdk -u --filter android-16

インストールAPI 17がなければ、すぐにシステムイメージをインストールします。あなたはAPI 17をしたい場合は、アンドロイド-17をインストール

echo -ne 'y' | android update sdk -u --filter system-image

し、システム・イメージinstallコマンドを実行します。表向きは、これは、SDKプラットフォームツールの最新バージョンは、ボックスに応答するために起こる方従います。

関連する問題