Android SDK Build-Tools הוא רכיב ב-Android SDK שנדרש לפיתוח אפליקציות ל-Android. הוא מותקן בספרייה <sdk>/build-tools/
.
תמיד צריך לוודא שהרכיב Build Tools מעודכן. לשם כך, מורידים את הגרסה העדכנית ביותר באמצעות Android SDK Manager. אם אתם משתמשים ב-Android plugin for Gradle 3.0.0 ואילך, המערכת תשתמש באופן אוטומטי בגרסה שמוגדרת כברירת מחדל של כלי ה-build שצוינו בפלאגין. כדי להשתמש בגרסה אחרת של כלי ה-build, צריך לציין אותה באמצעות buildToolsVersion
ב-build.gradle
של המודול, באופן הבא:
Groovy
android { buildToolsVersion "34.0.0" ... }
Kotlin
android { buildToolsVersion = "34.0.0" ... }
גרסאות קודמות
בקטעים הבאים מפורטות הערות לגבי גרסאות של Build Tools. כדי לבדוק אילו גרסאות של כלי ה-build זמינות ב-SDK, אפשר לעיין ברשימת Installed Packages (חבילות מותקנות) במנהל Android SDK.
Build Tools, גרסה 34.0.0 RC3(אפריל 2023)
תיקוני באגים ושיפורים כלליים.
Build Tools, גרסה 34.0.0 (פברואר 2023)
העדכון הזה כולל תמיכה בפיתוח באמצעות ממשקי API של Android 14 בתצוגה מקדימה.
Build Tools, גרסה 33.0.2 (פברואר 2023)
העדכון הזה מתקן את הבעיה הבאה:
-
core-lambda-stubs.jar
בגרסה 33.0.0 יש הבדלים בין macOS לבין Linux/Windows. (עיינו בבעיה מס' 237299698.)
Build Tools, גרסה 33.0.1 (נובמבר 2022)
העדכון הזה מתקן את הבעיה הבאה:
- AIDL נכשל עם build-tools 33.0.0. (בעיה מס' 236167971)
Build Tools, גרסה 30.0.0 rc4 (מאי 2020)
העדכון הזה כולל תמיכה בפיתוח באמצעות ממשקי Android 11 Preview API.
Build Tools, גרסה 29.0.3 (ינואר 2020)
העדכון הזה מתקן את הבעיה הבאה:
- בעיה ב-build עם Renderscript ב-macOS Catalina. (ראו בעיה מס' 142590626)
Build Tools, גרסה 29.0.2 (אוגוסט 2019)
העדכון הזה מתקן את הבעיה הבאה:
Build Tools, גרסה 29.0.0 (יוני 2019)
העדכון הזה כולל תמיכה בפיתוח עם רמת API 29.
Build Tools, גרסה 28.0.3 (ספטמבר 2018)
העדכון הזה כולל תמיכה בפלאגין של Android Gradle 3.2.0 ותיקון הבעיות הבאות:
-
תוקן באג בספריית JNI שגרם לאפליקציות לקרוס בזמן קריאה ל-
androidx.renderscript.RenderScript.create()
. -
תוקן באג שגרם לשגיאות build ב-
Program type already present
עם משאביandroidx.annotation
.
Build Tools, גרסה 28.0.2 (אוגוסט 2018)
כולל את הגרסה האחרונה של D8.
Build Tools, גרסה 27.0.3 (דצמבר 2017)
שיפור התמיכה בתכנות lambda כשמופעלות תכונות השפה של Java 8.
Build Tools, גרסה 27.0.2 (דצמבר 2017)
שיפור התמיכה בתכונות השפה של Java 8.
Build Tools, גרסה 27.0.1 (נובמבר 2017)
הוספת תמיכה ב-multidex מדור קודם לחבילות APK לבדיקה. (בעיה מס' 37324038)
Build Tools, גרסה 26.0.2 (אוקטובר 2017)
בנוסף לתיקוני באגים כלליים, הגרסה הזו כוללת את העדכונים הבאים:
- עדכונים של
apksigner
לגרסה 0.8:- תאימות ל-Java 9. (בעיה מס' 37137869)
-
פרמטר
--pass-encoding
חדש לטיפול במאגרי מפתחות ובמפתחות שמאובטחים באמצעות סיסמאות שאינן מסוג ASCII. אם עוברים ל-Java 9 ו-apksigner
לא מצליח לפענח את מאגר המפתחות או את המפתח, צריך להשתמש בפרמטר הזה כדי לציין את קידוד התווים שבו השתמשתם כדי ליצור את מאגר המפתחות או את המפתח. מידע נוסף זמין במשאבי העזרה שלapksigner
או מריצים את הפקודהapksigner sign --help
משורת הפקודה. -
הודעת שגיאה טובה יותר כש-
apksigner
לא מצליח לאמת חתימה של JAR בגלל דיגסט או אלגוריתם חתימה לא נתמכים. (בעיה מס' 63525618)
-
תמיכה במצב דימון (daemon) של AAPT2 כשמשתמשים
בפלאגין ל-Android ב-Gradle
3.0.0-beta7
ואילך.
Build Tools, גרסה 26.0.1 (יולי 2017)
בנוסף לתיקוני באגים כלליים, הגרסה הזו מחזירה את apksigner
למקבץ הכלים ל-build (הוא הושמט בטעות בגרסה 26.0.0) וכוללת את העדכונים הבאים בכלי:
- נוספה תמיכה ב-PKCS #11 כדי לאפשר חתימה באמצעות מפתחות שנשמרים בחומרה מאובטחת. (גיליון מס' 37140484)
- הוספת תמיכה בטעינה של ספקי JCA נוספים לפני החתימה.
- מתייחסת ל-
android:targetSandboxVersion
במהלך אימות ערכות APK. - בזמן החתימה, המערכת דוחה קובצי APK עם קבצים שכוללים תווים מיוחדים מסוג 'CR' (חזרה לתחילת השורה), 'LF' (מעבר שורה) או 'NUL' (null) בשם הקובץ.
- תיקון ב-
apksigner.bat
כדי לטפל בצורה נכונה בפרמטרים שמכילים רווחים. (בעיה מס' 38132450) - תיקון באג באימות החתימה של קובץ JAR כשיש כמה סיכומי גיבוב לאותה רשומה ב-
MANIFEST.MF
. (בעיה מס' 38497270)
Build Tools, גרסה 26.0.0 (יוני 2017)
הוספת תמיכה בבנייה עם API ברמה 26 ומכיל תיקוני באגים כלליים.
Build Tools, גרסה 25.0.3 (אפריל 2017)
עדכונים לגבי apksigner
:
- נוספה הפרמטר
--in
לצורך סימטריה עם הפרמטר הקיים--out
. - אם לא מציינים את סיסמת המפתח באמצעות
--key-pass
, מערכתapksigner
משתמשת בסיסמה של מאגר המפתחות בתור סיסמת מפתח. עם זאת, אם המפתח מחייב סיסמה אחרת, תופיע בקשה להזין את הסיסמה של המפתח משורת הפקודה. (בעיה מס' 37134986) - נוספה תאימות ל-
jarsigner
עבור סיסמאות שאינן מסוג ASCII. (בעיה מס' 37135737)
Build Tools, גרסה 25.0.2 (דצמבר 2016)
תיקוני באגים.
Build Tools, גרסה 25.0.1 (נובמבר 2016)
הגרסה הזו כוללת תיקוני באגים ושיפורים הבאים ב-apksigner
:
- תמיכה ב-APK עם שמות קודומים של רשומות JAR.
- המתג
--print-certs
מעביר עכשיו גם טביעות אצבע של MD5.
Build Tools, גרסה 25.0.0 (אוקטובר 2016)
תיקוני באגים בכלי הפיתוח של Jack:
- תוקנה בעיה ב-Jack בנוגע לתמיכה בקובצי מקור שאינם ב-ASCII. (גיליון מס' 218892)
- תוקנה בעיה שגרמה ל-
AssertionError
במהלך חלק מהאוספים. (בעיה מס' 208414)
Build Tools, גרסה 24.0.3 (ספטמבר 2016)
- נוסף את
apksigner
, כלי לחתימה על APK שיחליף אתjarsigner
. כברירת מחדל,apksigner
חותם על חבילות APK באמצעות סכמת החתימה הרגילה של JAR (שמשויכת ל-jarsigner
) וסכמת החתימה של APK v2 שהוצגה ב-Android 7.0 (רמת API 24). כל שינוי בחבילת APK שחתומה באמצעות APK Signature Scheme v2 מבטל את החתימה שלה. לכן, עיבוד תמונה (Post Processing) של קובץ APK, כמוzipalign
, צריך להתבצע לפני ההפעלה שלapksigner
, ולא אחריה. אפשר להפעיל אתzipalign
לפניapksigner
כיapksigner
שומר על היישור והדחיסה של קובץ ה-APK (בניגוד ל-jarsigner
).
Build Tools, גרסה 23.0.3 (מרץ 2016)
- תיקון בעיות בספריית התמיכה של RenderScript במכשירי arm64.
- תיקון בעיות בספריית התמיכה של RenderScript במכשירי Jelly Bean מסוימים.
- תמיכה ב-
renderscriptTargetAPI 21+
כשמשתמשים בפלאגין של Android ל-Gradle, בגרסה 2.1.0 ואילך .
Build Tools, גרסה 23.0.2 (נובמבר 2015)
- שיפור הביצועים של המיזוג בכלי
dx
. - תוקנו בעיות במהדר של RenderScript ל-Windows.
Build Tools, גרסה 23.0.1 (אוקטובר 2015)
תוקנו בעיות בכלים של RenderScript.
Build Tools, גרסה 23.0.0 (אוגוסט 2015)
הוספנו תמיכה במהדורה Android 6.0 (רמת API 23).
Build Tools, גרסה 22.0.1 (מרץ 2015)
תוקנו בעיות תאימות עם ליבה (kernel) של RenderScript ב-Android 4.4 (רמת API 19) למכשירי Android 4.1 (רמת API 16).
Build Tools, גרסה 22.0.0 (מרץ 2015)
הוספנו תמיכה ב-Android 5.1 (רמת API 22).
Build Tools, גרסה 21.1.2 (פברואר 2015)
תוקנה בעיה ביצירת פריסות של נתוני בניין במצב 32 ביט.
Build Tools, גרסה 21.1.1 (נובמבר 2014)
תוקנו בעיות בסקריפטים של multidex.
Build Tools, גרסה 21.1 (אוקטובר 2014)
הוספנו תמיכה בקובצי multidex לחבילות APK ותמיכה ב-Jack כדי לטפל במגבלה של 64K הפניות לשיטות.
Build Tools, גרסה 21.0.2 (אוקטובר 2014)
עדכונים מלאים ל-Eclipse ADT כדי לפתור בעיות של חוסר יציבות בפלטפורמות Windows.
Build Tools, גרסה 21.0.1 (אוקטובר 2014)
עדכונים ראשוניים ל-Eclipse ADT ב-Windows. יש להשתמש בגרסה 21.0.2.
Build Tools, גרסה 21.0.0 (אוקטובר 2014)
- הערות כלליות:
-
- הוספנו תמיכה ב-Android 5.0 (רמת API 21).
- RenderScript תומך עכשיו בפעולה חלקה של 32/64 ביט ברמת API ברמה 21 ומעלה.
- תוקנה בעיה במערכת ה-build של Gradle כשמשתמשים בפלאגין JaCoCo. (בעיה 69174)
- נוספה אפשרות input-list לשימוש עם שורות פקודה ארוכות ב-Windows.
Build Tools, גרסה 20.0.0 (יוני 2014)
- הערות כלליות:
-
- נוספה תמיכה ב-Android Wear.
Build Tools, גרסה 19.1.0 (מאי 2014)
- הערות כלליות:
-
- הוספנו את
zipalign
ל-Build Tools. - שינוי
aapt
כדי להתעלם מקובצי XML שלא ניתן לקמפל.
- הוספנו את
כלים ליצירה, גרסה 19.0.3 (מרץ 2014)
תוקנה בעיה בתמיכה ב-RenderScript.
Build Tools, גרסה 19.0.2 (פברואר 2014)
- תוקנו בעיות ב-build של RenderScript:
-
- תוקנה בעיה בקידוד ביטקוד של RenderScript. (בעיה 64775)
- תוקנה בעיה ב-RenderScript שבה חסרים סמלים מתמטיים (בעיה 64110)
Build Tools, גרסה 19.0.1 (דצמבר 2013)
- תוקנו בעיות שונות שקשורות ל-build:
-
- תיקון התמיכה בתכנות של RenderScript במצב NDK באמצעות Gradle.
- תוקנה בעיה ב-
BufferOverflowException
בגרסה המאוחדת של dx. (בעיה 61710)
Build Tools, גרסה 19 (אוקטובר 2013)
נוספה תמיכה ביעדי build ב-Android 4.4 (רמת API 19).
Build Tools, גרסה 18.1.1 (ספטמבר 2013)
תוקנו כמה בעיות קלות בגרסה היציבה.
Build Tools, גרסה 18.1.0 (ספטמבר 2013)
תוקנה בעיה במצב התמיכה של RenderScript.
Build Tools, גרסה 18.0.1 (יולי 2013)
נוספה תמיכה ליעדי build של Android 4.3 (רמת API 18).
Build Tools, גרסה 17 (מאי 2013)
מהדורה ראשונית.
- הערות כלליות:
-
- נוספה תמיכה ביעדים של גרסאות build ל-Android 4.2 (רמת API 17).
- הפרדת הרכיבים הספציפיים ל-build של Android SDK מהרכיב platform-tools, כדי שאפשר יהיה לעדכן את כלי ה-build בנפרד מהרכיבים של סביבת הפיתוח המשולבת (IDE).