web-dev-qa-db-ja.com

Android SDKのビルドツール、プラットフォームツール、およびツールとは何ですか?そしてどのバージョンを使うべきですか?

これは非常に初歩的な質問ですが、驚いたことに、Android SDK Build-toolsに関するドキュメントが見つかりませんでした。 Android SDKツールとAndroid SDKプラットフォームツールの他に、添付のスクリーンショットに示されているように多数のAndroid SDKビルドツールがあります。誰もがそれらすべてを説明しているソースを指摘して、Android SDK Build-toolsの特定のバージョンがどのように使用のために選ばれるのかを明確にすることを手助けできますか?

enter image description here

編集(2014-02-27)

私はまだすべてのツールを完全には理解していません。以下は、Googleの最新のドキュメントに基づいた私の限定的な理解です。

  • Android SDK Build-tools 以前は Android SDK Platform-tools のコンポーネントでした。これらはAndroid SDK Platform-toolsから切り離されているため、ビルドツールは統合開発環境(IDE)コンポーネントとは無関係に更新できます。
  • Android SDK Platform-tools は、最新のAndroidプラットフォームの機能をサポートするようにカスタマイズされています。これらは後方互換性があるため、常に最新の Android SDK Platform-toolsを使用しています あなたのアプリでも古いAndroidプラットフォームをターゲットにしています。
  • SDKツール はプラットフォームに依存せず、開発しているAndroidプラットフォームに関係なく必要とされます。

私はまだ Android SDKビルドツール から Android SDKプラットフォームツール を取る論理的根拠を理解していません/単一のインスタンスを持ち、更新を管理するのは簡単です。私が考えることができる唯一の考えられる理由はそれらを構築するためにいくつかのアプリが古いビルドコンポーネントに頼らなければならないということです。グーグルの文書はこれに言及しているが、その理由を説明していない。リリースノートを見ると、 Android SDK Build-tools の更新は主にバグの修正または/新しいプラットフォームのサポートの追加を目的としていることがわかります。いくつかのアプリが Android SDK Build-tools の古いバージョンを使用すると考えることができる唯一の理由は、 Android SDK Build-tools の特定のバグに依存しているためです。これらのアプリは、これらのバグで構築されていないと正常に機能しません。私は、ツール内のこれらのバグが特定のアプリにとって重大である理由を示す1つか2つの例を挙げることによって、Googleがこれをよりよく説明できることを望みます。

315
Hong

Android SDK Build-toolsのバージョンについて、答えは

デフォルトでは、Android SDKは最新のダウンロードバージョンのビルドツールを使用します。

出典

Eclipseでは、sdk.buildtoolsファイルのproject.propertiesプロパティを使用して特定のバージョンを選択できます。

すべてのビルドツールを説明した公式ページはないようです。これはAndroidチームがこれについて言っていることです。

Aidl、aapt、dexdump、dxなどの[ビルド]ツールは通常、AndroidビルドツールまたはAndroid Development Tools(ADT)によって呼び出されるため、これらのツールを直接呼び出す必要はほとんどありません。原則として、必要に応じてそれらを呼び出すには、ビルドツールまたはADTプラグインを使用する必要があります。

出典

とにかく、ここにツール、プラットフォームツール、ビルドツールの違いの合成:があります

  • Android SDKツール
    • 場所:$Android_HOME/tools
    • 主なツール:antスクリプト(APKを構築するため)とddms(デバッグ用)
  • Android SDKプラットフォームツール
    • 場所:$Android_HOME/platform-tools
    • メインツール:adb(エミュレータやAndroidデバイスの状態を管理するため)
  • Android SDKビルドツール
    • 場所:$Android_HOME/build-tools/$VERSION/
    • ドキュメンテーション
    • 主なツール:aapt(R.Javaおよび未整列の未署名のAPKを生成する)、dx(JavaバイトコードをDalvikバイトコードに変換する)、およびzipalign(APKを最適化する)
84
lacton

Android SDKビルドツールは、Androidアプリケーションのデバッグ、ビルド、実行、およびテストに使用されます。

Androidビルドツールは、コマンドラインまたはIDE(つまりEclipseまたはAndroid Studio)から開発および作業するために使用できます。

Androidデバイスを接続してルート設定するためにも使用されます(fastboot、adbなど)。

常に最新のものを使用してください。(推奨)

Androidビルドツールとコマンドの詳細

38
mipreamble

ビルドツール、プラットフォームツール、およびツールの違いについては他の人に説明します。実用的な観点からは、あなたはあなたの2番目の質問に対する答えを知る必要があるだけです。

どのバージョンを使うべきですか?

回答:最新版を使用してください。

GradleでAndroid Studioを使用している場合は、buildToolsVersionbuild.gradle(Module:app)ファイルに設定する必要があります。

Android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"

    ...
}

Build Toolsの最新バージョン番号はどこで入手できますか?

Android SDK Managerを開きます。

  • Android Studioで ツール > Android > SDKマネージャ > 外観と動作 > システム設定 > Android SDK
  • SDK Tools タブを選択します。
  • リストから Android SDK Build Tools を選択します。
  • チェック パッケージの詳細を表示

最後の項目には最新のバージョンが表示されます。

enter image description here

インストールされていることを確認してから、その番号をbuild.gradlebuildToolsVersionとして書き込みます(Module:app)。

15
Suragch

あなたはこれでこれらについての詳細を見つけることができます Android - Command Line Tools


tl; dr:

SDKツール:

  1. Android SDKマネージャ(sdkmanager)
  2. AVDマネージャ(avdmanager)
  3. Dalvikデバッグモニタサーバ(ddms)

ビルドツール:

  1. 歌手
  2. proGuard
  3. 主権
  4. jobb

プラットフォームツール:

  1. adb
  2. aidl、aapt、dexdump、およびdx
  3. bmgr
  4. logcat
12
Suhaib

正しい答えは

Android SDKのビルド固有のコンポーネントをplatform-toolsコンポーネントから分離したため、ビルドツールは統合開発環境(IDE)コンポーネントとは無関係に更新できます。

リンク(リビジョン17を展開)

9
kreker

Android SDKビルドツールはまさにその名前が言うとおりのものです。 Androidアプリケーションをビルドするためのツール。最新のビルドツールバージョン(Android SDKを介してIDEによって自動的に選択される)を使用することが非常に重要ですが、古いバージョンが残されている理由プロジェクトが古いバージョンのビルドツールに依存している場合.

2