SDK Build Tools リリースノート

Android SDK Build-Tools は、Android アプリのビルドに必要な Android SDK のコンポーネントです。<sdk>/build-tools/ ディレクトリにインストールされています。

Android SDK Manager を使用して最新バージョンをダウンロードすることで、Build Tools コンポーネントを常に最新の状態に保つ必要があります。Android Plugin for Gradle 3.0.0 以降を使用している場合、プロジェクトでは、プラグインで指定されたビルドツールのデフォルト バージョンが自動的に使用されます。別のバージョンのビルドツールを使用するには、モジュールの build.gradle で、buildToolsVersion を使用して次のように指定します。

GroovyKotlin
android {
    buildToolsVersion "34.0.0"
    ...
}
android {
    buildToolsVersion = "34.0.0"
    ...
}

リビジョン

以下のセクションでは、Build Tools のリリースノートを示します。SDK で使用できる Build Tools のリビジョンを確認するには、Android SDK Manager でインストール済みパッケージのリストを参照してください。

Build Tools リビジョン 34.0.0 RC3(2023 年 4 月)

全般的なバグの修正と改善を行いました。

このアップデートでは、Android 14 Preview API を使用したビルドをサポートしています。

このアップデートでは、次の問題が修正されています。

  • core-lambda-stubs.jar バージョン 33.0.0 は、macOS と Linux/Windows で異なります。 (問題 #237299698)。

このアップデートでは、次の問題が修正されています。

このアップデートでは、Android 11 Preview API を使用したビルドをサポートしています。

このアップデートでは、次の問題が修正されています。

このアップデートでは、次の問題が修正されています。

このアップデートには、API レベル 29 でのビルドのサポートが含まれています。

このアップデートでは、Android Gradle プラグイン 3.2.0 がサポートされるとともに、次の問題修正がなされています。

  • androidx.renderscript.RenderScript.create() を呼び出すときにアプリがクラッシュする原因となっていた JNI ライブラリのバグを修正しました。
  • androidx.annotation リソースを使用した場合の Program type already present ビルドエラーの原因となっていたバグを修正しました。

D8 の最新バージョンが含まれています。

Java 8 言語機能を有効にした場合の、ラムダのコンパイルのサポートを改善しました。

Java 8 言語機能のサポートを改善しました。

テスト APK 用の以前の Multidex に対するサポートを追加しました(問題 #37324038)。

このリリースには、全般的なバグの修正に加えて、次のアップデートが含まれています。

  • apksigner をバージョン 0.8 にアップデート:
    • Java 9 との互換性(問題 #37137869)。
    • ASCII 以外のパスワードを使用して暗号化されたキーストアと鍵を処理するための新しい --pass-encoding パラメータ。Java 9 に切り替えて apksigner でキーストアか鍵の復号に失敗した場合、このパラメータを使用して、キーストアか鍵の作成に使用した文字エンコーディングを指定します。詳細については、apksigner のドキュメントをご覧ください。またはコマンドラインから apksigner sign --help を実行してください。
    • サポートされていないダイジェストか署名アルゴリズムが原因で apksigner による JAR 署名の検証ができない場合のエラー メッセージの改善(問題 #63525618)。
  • Android Plugin for Gradle 3.0.0-beta7 以上を使用する場合の AAPT2 デーモンモードのサポート。

このリリースでは、全般的なバグの修正に加えて、ビルドツール パッケージに apksigner を復元し(バージョン 26.0.0 で誤って削除されました)、ツールに次のアップデートを行いました。

  • 安全なハードウェアに保持された鍵で署名できるようにするための、PKCS #11 のサポートの追加(問題 #37140484)。
  • 署名前に追加の JCA プロバイダを読み込むためのサポートの追加。
  • APK を検証する際の android:targetSandboxVersion の確認。
  • 署名するとき、ファイル名に特殊文字「CR」(キャリッジ リターン)、「LF」(ラインフィード)、「NUL」(null)が含まれるファイルを持つ APK を拒否。
  • スペースを含むパラメータを正しく処理するように apksigner.bat を修正 (問題 #38132450)。
  • MANIFEST.MF の同じエントリに複数のダイジェストが存在する場合の JAR 署名検証のバグを修正(問題 #38497270)。

API レベル 26 でのビルドのサポートを追加し、全般的なバグを修正しました。

apksigner のアップデート:

  • 既存の --out パラメータと対称になるように --in パラメータを追加しました。
  • --key-pass を使用して鍵のパスワードを指定しなかった場合、apksigner はキーストアのパスワードを鍵のパスワードとして使用します。ただし、鍵に別のパスワードが必要な場合は、コマンドラインから鍵のパスワードを入力するように求められます(問題 #37134986)。
  • jarsigner に、非 ASCII 文字のパスワードに対する互換性を追加しました(問題 #37135737)。

バグを修正しました。

このリリースには、バグの修正と、apksigner に対する次の改善が含まれます。

  • 難読化された JAR エントリ名を含む APK のサポート。
  • --print-certs スイッチで MD5 フィンガープリントもダンプされるようになりました。

Jack ツールチェーンのバグ修正:

  • Jack で ASCII 以外のソースファイルをサポートするうえでの問題を修正しました(問題 #218892)。
  • 一部のコンパイルで AssertionError が発生する問題を修正しました(問題 #208414)。
  • jarsigner に代わる APK 署名ツール apksigner を追加しました。apksigner による APK への署名には、デフォルトで、従来の JAR 署名スキーム(jarsigner で使用)と Android 7.0(API レベル 24)で導入された APK 署名スキーム v2 が使用されます。APK 署名スキーム v2 で署名された APK を変更すると、その署名は無効になります。したがって、zipalign などの APK 後処理は、apksigner を呼び出した後ではなく、呼び出す前に実施する必要があります。apksigner では(jarsigner と異なり)、APK のアライメントと圧縮が保持されるため、apksigner の前に zipalign を呼び出しても問題ありません。
  • arm64 デバイスにおける RenderScript サポート ライブラリの問題を修正しました。
  • 特定の Jelly Bean デバイスにおける RenderScript サポート ライブラリの問題を修正しました。
  • Android Plugin for Gradle リビジョン 2.1.0 以降を使用する場合の renderscriptTargetAPI 21+ をサポート。
  • dx ツールのマージ パフォーマンスを改善しました。
  • Windows 用 RenderScript コンパイラの問題を修正しました。

RenderScript ツールに関する問題を修正しました。

Android 6.0(API レベル 23)のサポートを追加しました。

Android 4.4(API レベル 19)デバイス上の RenderScript カーネルの、Android 4.1(API レベル 16)デバイスに対する互換性の問題を修正しました。

Android 5.1(API レベル 22)のサポートを追加しました。

32 ビットモードでのデータ レイアウトの作成に関する問題を修正しました。

multidex スクリプトの問題を修正しました。

メソッドの 64K 参照制限に対処するために、APK の Multidex ファイル サポートと Jack のサポートを追加しました。

Windows プラットフォームで不安定になる問題を解決する Eclipse ADT の完全なアップデート。

Windows での Eclipse ADT の初回アップデート。リビジョン 21.0.2 を使用してください。

全般的な記載事項:
  • Android 5.0(API レベル 21)のサポートを追加しました。
  • RenderScript が、API レベル 21 以上でシームレスな 32 / 64 ビット オペレーションをサポートするようになりました。
  • JaCoCo プラグイン使用時の Gradle ビルドシステムに関する問題を修正しました(問題 69174)。
  • Windows で長いコマンドラインとともに使用するための input-list オプションを追加しました。
全般的な記載事項:
  • Android Wear のサポートを追加しました。
全般的な記載事項:
  • Build Tools に zipalign を追加しました。
  • コンパイルに失敗した XML ファイルが無視されるように aapt を変更しました。

RenderScript のサポートに関する問題を修正しました。

RenderScript のビルドに関する問題を修正しました。
  • RenderScript のビットコード エンコードに関する問題を修正しました(問題 64775)。
  • RenderScript で数学記号が欠落する問題を修正しました(問題 64110)。

その他のビルドに関する問題を修正しました。
  • Gradle を使用して NDK モードで RenderScript をコンパイルするためのサポートを修正しました。
  • dx ビルドでの BufferOverflowException の問題を修正しました(問題 61710)。

Android 4.4(API レベル 19)ビルド ターゲットのサポートを追加しました。

ビルドに関する軽微な問題をいくつか修正しました。

RenderScript のサポートモードに関する問題を修正しました。

Android 4.3(API レベル 18)ビルド ターゲットのサポートを追加しました。

初回リリース。

全般的な記載事項:
  • Android 4.2(API レベル 17)ビルド ターゲットのサポートが含まれています。
  • Android SDK のビルド固有のコンポーネントを Platform-Tools コンポーネントから分離することで、統合開発環境(IDE)コンポーネントから独立してビルドツールをアップデートできるようにしました。