כדי לראות איך האפליקציה נראית ומתנהגת במכשיר, צריך לבנות אותה ולהפעיל אותה. ב-Android Studio, פרויקטים חדשים מוגדרים כך שאפשר לפרוס את האפליקציה למכשיר וירטואלי או פיזי בכמה קליקים בלבד.
הסקירה הכללית הזו מתמקדת בשימוש ב-Android Studio כדי ליצור ולהריץ את האפליקציה לצורך בדיקה וניפוי באגים. מידע על השימוש ב-Android Studio כדי לבנות את האפליקציה כך שאפשר יהיה לפרסם אותה למשתמשים זמין במאמר איך לבנות את האפליקציה לפרסום למשתמשים. מידע מפורט יותר על ניהול והתאמה אישית של ה-build עם או בלי Android Studio זמין במאמר הגדרת ה-build.
הרצה ו-build בסיסיים
כדי ליצור ולהפעיל את האפליקציה, פועלים לפי השלבים הבאים:
- בסרגל הכלים, בוחרים את האפליקציה בתפריט של הגדרות ההרצה.
בתפריט של מכשיר היעד, בוחרים את המכשיר שבו רוצים להריץ את האפליקציה.

אם לא הגדרתם מכשירים, אתם צריכים ליצור מכשיר וירטואלי של Android כדי להשתמש באמולטור של Android או לחבר מכשיר פיזי.
לוחצים על הפעלה
.
אם תנסו להפעיל את הפרויקט במכשיר שיש בו שגיאה או אזהרה, תקבלו אזהרה מ-Android Studio. שינויים בסמלים ובסגנון עוזרים להבחין בין שגיאות (בחירות במכשירים שגורמות להגדרה פגומה) לבין אזהרות (בחירות במכשירים שעשויות לגרום להתנהגות בלתי צפויה, אבל עדיין אפשר להפעיל אותן).
מעקב אחרי תהליך ה-build
כדי לראות פרטים על תהליך הבנייה, בוחרים באפשרות תצוגה > חלונות כלים > בנייה או לוחצים על בנייה
בסרגל חלון הכלים. חלון הכלים Build מציג את המשימות ש-Gradle מבצע כדי לבנות את האפליקציה, כמו שמוצג באיור 1.
- הכרטיסייה Sync: מציגה את המשימות ש-Gradle מבצע כדי לסנכרן עם קובצי הפרויקט. בדומה לכרטיסייה Build Output, אם נתקלתם בשגיאת סנכרון, תוכלו לבחור רכיבים בעץ כדי לקבל מידע נוסף על השגיאה. בנוסף, מוצג סיכום של ההשפעה של ההורדות כדי לקבוע אם הורדות של יחסי תלות משפיעות לרעה על הבנייה.
- הכרטיסייה Build Output: מוצגות בה המשימות ש-Gradle מבצע בצורת עץ, שבו כל צומת מייצג שלב בנייה או קבוצה של יחסי תלות בין משימות. אם מוצגות שגיאות בזמן הבנייה או בזמן ההידור, צריך לבדוק את העץ ולבחור רכיב כדי לקרוא את פלט השגיאה, כמו שמוצג באיור 2.
איור 2. בודקים אם יש הודעות שגיאה בכרטיסייה Build Output. - הכרטיסייה Build Analyzer: מספקת מידע על ניתוח הביצועים של ה-build. מידע נוסף זמין במאמר בנושא פתרון בעיות בביצועי בנייה באמצעות Build Analyzer.
- הפעלה מחדש: ביצוע מחדש של פעולת הבנייה האחרונה. אם הפקודה האחרונה שהרצתם הייתה Build > Make Selected Module, המודול הנוכחי ייבנה. אם הפקודה האחרונה שהרצתם הייתה Build > Make Project (build > יצירת פרויקט), המערכת תיצור קבצי build ביניים לכל המודולים בפרויקט.
- מסננים: מסננים אזהרות, משימות או את שניהם שהושלמו בהצלחה. כך קל יותר למצוא בעיות בפלט.
אם וריאציות ה-build משתמשות בטעמי מוצר, Gradle מפעיל גם משימות כדי לבצע build של טעמי המוצר האלה. כדי להציג את רשימת משימות הבנייה הזמינות, לוחצים על View (תצוגה) > Tool Windows (חלונות כלים) > Gradle או על Gradle
בסרגל חלון הכלים.
אם מתרחשת שגיאה במהלך תהליך הבנייה, יכול להיות ש-Gradle יציע אפשרויות של שורת פקודה שיעזרו לכם לפתור את הבעיה, כמו --stacktrace או --debug. כדי להשתמש באפשרויות של שורת הפקודה בתהליך הבנייה:
- פותחים את תיבת הדו-שיח הגדרות או העדפות:
- ב-Windows או ב-Linux, בוחרים באפשרות קובץ > הגדרות מסרגל התפריטים.
- ב-macOS, בוחרים באפשרות Android Studio > העדפות בסרגל התפריטים.
- עוברים אל Build, Execution, Deployment (בנייה, הפעלה, פריסה) > Compiler (קומפיילר).
- בתיבת הטקסט שליד Command-line Options (אפשרויות של שורת הפקודה), מזינים את האפשרויות של שורת הפקודה.
- לוחצים על אישור כדי לשמור ולצאת.
מערכת Gradle מפעילה את האפשרויות האלה של שורת הפקודה בפעם הבאה שמנסים לבנות את האפליקציה.
פיתוח והרצה באמצעות סוכן AI
לאגנט ה-AI ב-Android Studio יש גישה לכלים שמאפשרים לו ליצור ולפרוס את האפליקציה שלכם, ואז לאמת את מצב האפליקציה בשמכם. כשמשתמשים בAgent Mode, הסוכן יכול לבצע משימות כמו:
- פורסים את האפליקציה למכשיר פיזי מחובר או לאמולטור.
- בודקים את המסך ומצלמים צילומי מסך כדי לוודא ששינויי ממשק המשתמש בוצעו.
- בודקים את Logcat כדי לראות שגיאות בזמן ריצה או הודעות יומן ספציפיות.
- ליצור אינטראקציה עם האפליקציה באמצעות פקודות
adb shellכדי לנווט או להזין נתונים.
השימוש בסוכן ה-AI כדי לבנות ולהפעיל את האפליקציה מועיל למשימות מרובות שלבים שבהן הסוכן צריך לבצע שינויים באופן איטרטיבי ולוודא שהם פועלים כמצופה.
תכונות מתקדמות של בנייה והרצה
הדרך שמוגדרת כברירת מחדל ליצירה ולהרצה של האפליקציה ב-Android Studio אמורה להספיק לבדיקה של אפליקציה פשוטה. עם זאת, אפשר להשתמש בתכונות האלה של יצירה והרצה גם לתרחישי שימוש מתקדמים יותר:
כדי לפרוס את האפליקציה במצב ניפוי באגים, לוחצים על Debug (ניפוי באגים)
.
הפעלת האפליקציה במצב ניפוי באגים מאפשרת להגדיר נקודות עצירה בקוד, לבדוק משתנים ולהעריך ביטויים בזמן הריצה, ולהריץ כלי ניפוי באגים. מידע נוסף זמין במאמר ניפוי באגים באפליקציה.אם יש לכם אפליקציה גדולה ומורכבת יותר, אתם צריכים להשתמש באפשרות 'החלת שינויים' במקום ללחוץ על הפעלה
. כך חוסכים זמן, כי לא צריך להפעיל מחדש את האפליקציה בכל פעם שרוצים לפרוס שינוי. מידע נוסף על התכונה 'החלת שינויים' זמין בקטע פריסה מצטברת באמצעות התכונה 'החלת שינויים'.אם אתם משתמשים ב-Jetpack Compose, Live Edit היא תכונה ניסיונית שמאפשרת לכם לעדכן פונקציות composable בזמן אמת בלי ללחוץ מחדש על Run
.
כך תוכלו להתמקד בכתיבת קוד לממשק משתמש עם הפרעות מינימליות. מידע נוסף זמין בקטע עריכה בזמן אמת (בשלב ניסוי).אם יש לכם אפליקציה עם כמה וריאציות או גרסאות של build, אתם יכולים לבחור איזו וריאציה של build לפרוס באמצעות חלון הכלים Build Variants. מידע נוסף על הרצת וריאנט build ספציפי זמין בקטע שינוי וריאנט ה-build.
כדי לשנות את ההגדרות של הפעלה, ניפוי באגים ובדיקה של האפליקציה, אפשר לשנות את הגדרות ההפעלה/ניפוי הבאגים. מידע נוסף על יצירת הגדרות הפעלה/ניפוי באגים בהתאמה אישית זמין בקטע יצירת הגדרות הפעלה/ניפוי באגים.
מומלץ להשתמש ב-Android Studio לצורכי פיתוח, אבל אפשר גם לפרוס את האפליקציה במכשיר וירטואלי או פיזי משורת הפקודה. מידע נוסף זמין במאמר יצירת האפליקציה משורת הפקודה.
פריסה מצטברת באמצעות 'החלת שינויים'
ב-Android Studio בגרסה 3.5 ומעלה, התכונה 'החלת שינויים' מאפשרת להעביר שינויים בקוד ובמשאבים לאפליקציה שפועלת בלי להפעיל מחדש את האפליקציה, ובמקרים מסוימים בלי להפעיל מחדש את הפעילות הנוכחית. הגמישות הזו מאפשרת לכם לשלוט במידת ההפעלה מחדש של האפליקציה כשרוצים לפרוס ולבדוק שינויים קטנים ומצטברים, תוך שמירה על המצב הנוכחי של המכשיר.
התכונה 'החלת שינויים' משתמשת ביכולות בהטמעה של Android JVMTI שנתמכות במכשירים עם Android מגרסה 8.0 (רמת API 26) ומעלה. מידע נוסף על התכונה 'החלת שינויים' זמין במאמר Android Studio Project Marble: Apply Changes.
דרישות
הפעולות 'החלת שינויים' זמינות רק אם מתקיימים התנאים הבאים:
- אתם יוצרים את ה-APK של האפליקציה באמצעות גרסת build לניפוי באגים.
- אתם פורסים את האפליקציה במכשיר יעד או באמולטור שפועלת בו גרסה Android 8.0 (API level 26) ומעלה.
שימוש באפשרות 'החלת שינויים'
כדי לפרוס את השינויים במכשיר תואם, אפשר להשתמש באפשרויות הבאות:
החלת שינויים והפעלה מחדש של הפעילות
: המערכת מנסה להחיל את השינויים במשאב ובקוד על ידי הפעלה מחדש של הפעילות, אבל בלי להפעיל מחדש את האפליקציה. בדרך כלל אפשר להשתמש באפשרות הזו כשמשנים קוד בגוף של שיטה או משנים משאב קיים.
אפשר גם לבצע את הפעולה הזו על ידי לחיצה על Control+Alt+F10 (Control+Command+Shift+R ב-macOS).
החלת שינויים בקוד
: המערכת מנסה להחיל רק את השינויים בקוד בלי להפעיל מחדש שום דבר. בדרך כלל, אפשר להשתמש באפשרות הזו כשמשנים קוד בגוף של שיטה אבל לא משנים משאבים. אם שיניתם גם את הקוד וגם את המשאבים, צריך להשתמש באפשרות החלת שינויים והפעלה מחדש של הפעילות.
אפשר גם לבצע את הפעולה הזו על ידי הקשה על Control+F10 (Control+Command+R ב-macOS).
הפעלה
: פריסת כל השינויים והפעלה מחדש של האפליקציה. כדאי להשתמש באפשרות הזו אם אי אפשר להחיל את השינויים שביצעתם באמצעות אחת מהאפשרויות של'החלת שינויים'. מידע נוסף על סוגי השינויים שמחייבים הפעלה מחדש של האפליקציה זמין בקטע מגבלות השימוש בתכונה 'החלת שינויים'.
הפעלת חלופה להרצה של 'החלת שינויים'
כשלוחצים על החלת השינויים והפעלה מחדש של הפעילות או על החלת שינויים בקוד, Android Studio יוצר קובץ APK חדש וקובע אם אפשר להחיל את השינויים. אם אי אפשר להחיל את השינויים והם יגרמו לכך שהאפשרות 'החלת שינויים' תיכשל, Android Studio יציג הנחיה להפעיל
את האפליקציה שוב במקום זאת.
אם לא רוצים לקבל הנחיה בכל פעם שזה קורה, אפשר להגדיר את Android Studio להפעלה מחדש אוטומטית של האפליקציה כשאי אפשר להחיל שינויים. כדי להפעיל את ההתנהגות הזו, פועלים לפי השלבים הבאים:
פותחים את תיבת הדו-שיח הגדרות או העדפות:
- ב-Windows או ב-Linux, בוחרים באפשרות קובץ > הגדרות בתפריט.
- ב-macOS, בתפריט, בוחרים באפשרות Android Studio > Preferences.
עוברים אל Build, Execution, Deployment > Deployment.
מסמנים את תיבות הסימון כדי להפעיל מעבר אוטומטי לגיבוי עבור אחת או שתי הפעולות של החלת השינויים.
לוחצים על אישור.
שינויים שתלויים בפלטפורמה
חלק מהתכונות של 'החלת שינויים' תלויות בגרסאות ספציפיות של פלטפורמת Android. כדי להחיל שינויים כאלה, צריך לפרוס את האפליקציה במכשיר עם גרסת Android הזו (או גרסה חדשה יותר). לדוגמה, כדי להוסיף שיטה, צריך מכשיר עם Android מגרסה 11 ואילך.
מגבלות של התכונה 'החלת שינויים'
התכונה 'החלת שינויים' נועדה להאיץ את תהליך הפריסה של האפליקציה. עם זאת, יש כמה מגבלות על השימוש בו.
שינויים בקוד שמחייבים הפעלה מחדש של האפליקציה
חלק מהשינויים בקוד ובמשאבים לא יחולו עד להפעלה מחדש של האפליקציה, כולל השינויים הבאים:
- הוספה או הסרה של שדה
- הסרת שיטה
- שינוי חתימות של שיטות
- שינוי של משנים של שיטות או מחלקות
- שינוי ירושת הכיתה
- שינוי ערכים בטיפוסים בני מנייה (enum)
- הוספה או הסרה של משאב
- שינוי קובץ המניפסט של האפליקציה
- שינוי ספריות מקוריות (קבצי SO)
ספריות ותוספים
חלק מהספריות והתוספים מבצעים שינויים באופן אוטומטי בקובצי המניפסט של האפליקציה או במשאבים שמפנים אליהם במניפסט. העדכונים האוטומטיים האלה עלולים להפריע להחלת השינויים בדרכים הבאות:
- אם ספרייה או פלאגין מבצעים שינויים במניפסט של האפליקציה, אי אפשר להשתמש באפשרות Apply Changes (החלת שינויים). כדי לראות את השינויים, צריך להפעיל מחדש את האפליקציה.
- אם ספריה או פלאגין מבצעים שינויים בקובצי המשאבים של האפליקציה, אי אפשר להשתמש באפשרות החלת שינויים בקוד
. כדי לראות את השינויים, צריך להשתמש באפשרות החלת שינויים והפעלה מחדש של הפעילות
(או להפעיל מחדש את האפליקציה).
כדי להימנע מהמגבלות האלה, צריך להשבית את כל העדכונים האוטומטיים של וריאציות של גרסת הניפוי באגים.
לדוגמה, Firebase
Crashlytics מעדכן את משאבי האפליקציה עם מזהה build ייחודי במהלך כל build, ולכן אי אפשר להשתמש באפשרות Apply Code Changes
, וצריך להפעיל מחדש את הפעילות של האפליקציה כדי לראות את השינויים. כדי להשתמש באפשרות החלת שינויים בקוד לצד Crashlytics עם גרסאות הניפוי באגים שלכם, צריך להשבית את ההתנהגות הזו.
קוד שמפנה ישירות לתוכן ב-APK מותקן
אם הקוד שלכם מפנה ישירות לתוכן מקובץ ה-APK של האפליקציה שהותקן במכשיר, הקוד הזה עלול לגרום לקריסות או להתנהגות לא תקינה אחרי לחיצה על Apply Code Changes
. ההתנהגות הזו מתרחשת כי כשלוחצים על החלת שינויים בקוד, קובץ ה-APK הבסיסי במכשיר מוחלף במהלך ההתקנה. במקרים כאלה, אפשר ללחוץ על החלת השינויים והפעלה מחדש של הפעילות
או על הפעלה
.
אם נתקלתם בבעיות אחרות במהלך השימוש באפשרות 'החלת שינויים', אתם יכולים לדווח על באג.
Live Edit
התכונה 'עריכה בזמן אמת' היא תכונה ניסיונית ב-Android Studio שמאפשרת לעדכן פונקציות Composable באמולטורים ובמכשירים פיזיים בזמן אמת. הפונקציונליות הזו מצמצמת את המעברים בין כתיבה לבנייה של האפליקציה, ומאפשרת לכם להתמקד בכתיבת קוד למשך זמן ארוך יותר בלי הפרעות.
שינוי וריאנט ה-build
כברירת מחדל, כשלוחצים על Run
, Android Studio יוצר את גרסת הניפוי באגים של האפליקציה, שמיועדת לשימוש רק במהלך הפיתוח.
כדי לשנות את וריאציית ה-build שבה משתמשים ב-Android Studio, אפשר לבצע אחת מהפעולות הבאות:
- בתפריט, בוחרים באפשרות Build (גרסה) > Select Build Variant (בחירת גרסת Build).
- בתפריט, בוחרים באפשרות View (תצוגה) > Tool Windows (חלונות כלים) > Build Variants (וריאציות של גרסאות Build).
- לוחצים על הכרטיסייה יצירת וריאציות בסרגל של חלון הכלים.
בפרויקטים ללא קוד מקורי או קוד C++, בחלונית Build Variants יש שתי עמודות: Module ו-Active Build Variant. הערך של Active Build Variant (גרסת build פעילה) במודול קובע איזו גרסת build סביבת הפיתוח המשולבת (IDE) פורסת במכשיר המחובר, והוא מוצג בעורך.
איור 9. בחלונית Build Variants יש שתי עמודות לפרויקטים שלא כוללים קוד native/C++.
כדי לעבור בין וריאנטים, לוחצים על התא Active Build Variant (וריאנט פעיל של גרסת build) של מודול ובוחרים את הווריאנט הרצוי מהרשימה.
בפרויקטים עם קוד מקורי או קוד C++, בחלונית Build Variants יש שלוש עמודות:
- מודול
- Active Build Variant
- ממשק ABI פעיל
הערך של Active Build Variant במודול קובע את גרסת ה-build שסביבת הפיתוח המשולבת פורסת במכשיר, והוא מוצג בעורך. במודולים מקוריים, הערך של Active ABI קובע את ה-ABI שבו העורך משתמש, אבל לא משפיע על מה שנפרס.
איור 10. בחלונית Build Variants (גרסאות Build) נוספת העמודה Active ABI (ממשק ABI פעיל) לפרויקטים עם קוד מקורי או קוד C++.
כדי לשנות את וריאציית ה-Build או את ה-ABI, לוחצים על התא בעמודה Active Build Variant או Active ABI ובוחרים את הווריאציה או ה-ABI הרצויים מהרשימה. אחרי שמשנים את הבחירה, סביבת הפיתוח המשולבת מסנכרנת את הפרויקט באופן אוטומטי. שינוי של אחת מהעמודות עבור אפליקציה או מודול של ספרייה יחיל את השינוי על כל השורות התלויות.
כברירת מחדל, פרויקטים חדשים מוגדרים עם שני וריאנטים של build: וריאנט לניפוי באגים ווריאנט להפצה. צריך ליצור את וריאציית הגרסה כדי להכין את האפליקציה לפרסום לציבור. כדי להגדיר וריאציות אחרות של האפליקציה עם תכונות שונות או דרישות שונות לגבי המכשיר, אפשר להגדיר וריאציות נוספות של גרסת ה-build.
מחלוקות בתיבת הדו-שיח Build Variants (וריאציות של build) ב-Android Studio
בתיבת הדו-שיח Build Variants (וריאציות של בנייה) ב-Android Studio, יכול להיות שיוצגו הודעות שגיאה שמציינות שיש התנגשויות בין וריאציות של בנייה, כמו השגיאות הבאות:

השגיאה הזו לא מצביעה על בעיה ב-Gradle build. ההודעה מציינת שסביבת הפיתוח המשולבת (IDE) של Android Studio לא יכולה לפתור סמלים בין הווריאציות של המודולים שנבחרו.
לדוגמה, אם יש לכם מודול M1 שתלוי בווריאציה v1 של מודול M2, אבל בווריאציה v2 של מודול M2 נבחרה באזור הפיתוח המשולב, יש לכם סמלים שלא נפתרו באזור הפיתוח המשולב. נניח ש-M1 תלויה בכיתה שזמינה רק ב-v1. כשבוחרים ב-v2, סביבת הפיתוח המשולבת לא מכירה את הכיתה הזו. לכן, לא ניתן לפתור את שם המחלקה ומוצגות שגיאות בקוד של מודול M1.
הודעות השגיאה האלה מופיעות כי סביבת הפיתוח המשולבת לא יכולה לטעון קוד למספר וריאציות בו-זמנית. עם זאת, מבחינת הגרסה של האפליקציה, לגרסה שנבחרה בתיבת הדו-שיח הזו אין השפעה, כי Gradle בונה את האפליקציה עם קוד המקור שצוין במתכוני הבנייה של Gradle, ולא על סמך מה שנטען כרגע בסביבת הפיתוח המשולבת (IDE).
שינוי הגדרת ההרצה/ניפוי הבאגים
כשמריצים את האפליקציה בפעם הראשונה, Android Studio משתמש בהגדרת ריצה שמוגדרת כברירת מחדל. הגדרת ההרצה מציינת אם לפרוס את האפליקציה מקובץ APK או מקובץ Android App Bundle, וגם את המודול להרצה, החבילה לפריסה, הפעילות להפעלה, מכשיר היעד, הגדרות האמולטור, אפשרויות Logcat ועוד.
הגדרת ברירת המחדל להרצה או לניפוי באגים יוצרת קובץ APK, מפעילה את הפעילות של פרויקט ברירת המחדל ומשתמשת בתיבת הדו-שיח בחירת יעד הפריסה לבחירת מכשיר היעד. אם הגדרות ברירת המחדל לא מתאימות לפרויקט או למודול, אפשר להתאים אישית את הגדרות ההרצה או הניפוי באגים, או ליצור הגדרות חדשות ברמת הפרויקט, ברירת המחדל והמודול.
כדי לערוך הגדרת הרצה או ניפוי באגים, בוחרים באפשרות Run > Edit Configurations (הרצה > עריכת הגדרות). מידע נוסף זמין במאמר יצירה ועריכה של הגדרות הרצה/ניפוי באגים.