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 plugin 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 בגלל דיגסט או אלגוריתם חתימה לא נתמכים. (Issue #63525618)
-
תמיכה במצב דימון של 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 Plugin for 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)
תוקנו בעיות תאימות עם ליבות של 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 שלא ניתן לקמפל.
- הוספנו את
Build Tools, גרסה 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).