סקירה כללית של פרויקטים

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

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

הדף הזה מספק סקירה כללית של הרכיבים העיקריים בפרויקט.

מודולים

מודול הוא אוסף של קובצי מקור והגדרות build שמאפשרים לכם לפצל את הפרויקט ליחידות נפרדות של פונקציונליות. שלך יכול להיות לו מודול אחד או יותר, ומודול אחד יכול להשתמש במודול אחר של יחסי התלות. תוכלו לפתח, לבדוק ולנפות באגים בכל מודול בנפרד.

מודולים נוספים שימושיים כשאתם יוצרים ספריות קוד בפרויקט שלכם, או כשאתם רוצים ליצור קבוצות שונות של קוד ומשאבים לסוגי מכשירים שונים, כמו טלפונים ומכשירים לבישים, אבל לשמור את כל הקבצים באותו פרויקט ולשתף קוד מסוים.

כדי להוסיף מודול חדש לפרויקט, לוחצים על קובץ > חדש > מודול חדש.

ב-Android Studio יש כמה סוגים שונים של מודולים:

מודול של אפליקציה ל-Android
מספק קונטיינר לקוד המקור, לקובצי המשאבים ולהגדרות ברמת האפליקציה, כמו קובץ ה-build ברמת המודול וקובץ Android Manifest. מתי כשיוצרים פרויקט חדש, מודול האפליקציה שמוגדר כברירת מחדל נקרא 'אפליקציה'.

ב-Android Studio יש את סוגי המודולים הבאים לאפליקציות:

  • טלפון וטאבלט
  • Automotive
  • Wear OS
  • טלוויזיה
  • הכלי ליצירת פרופיל Baseline
  • השוואה לשוק

כל מודול מספק קבצים חיוניים ותבניות קוד מסוימות שמתאימות לאפליקציה או לסוג המכשיר הרלוונטי.

לקבלת מידע נוסף על הוספת מודול, קראו את המאמר מוסיפים מודול למכשיר חדש.

מודול תכונות
מייצג תכונה מודולרית של האפליקציה שיכולה לנצל את היתרונות של Play העברת תכונות. לדוגמה, באמצעות מודולים של תכונות תוכלו לספק למשתמשים עם תכונות מסוימות של האפליקציה על פי דרישה או כחוויות מיידיות באמצעות Google Play ללא התקנה.

ב-Android Studio יש את סוגי המודולים הבאים של תכונות:

  • מודול של תכונה דינמית
  • מודול של ספריית תכונות דינמיות מיידיות

למידע נוסף, אפשר לקרוא על העברת פיצ'רים של Play.

מודול ספרייה
מספק מכל לקוד לשימוש חוזר, שאותו אפשר יכול לשמש כתלות במודולים אחרים של אפליקציות או לייבא אותן פרויקטים. מבחינה מבנית, מודול ספרייה זהה למודול אפליקציה, אבל כשהוא נוצר, הוא יוצר קובץ ארכיון קוד במקום APK, כך שלא ניתן להתקין אותו מכשיר.

בחלון Create New Module, ב-Android Studio מוצעים הסוגים הבאים של מודולים של ספריות:

  • ספריית Android: מכילה את כל סוגי הקבצים שנתמכים בפרויקט Android, מלבד קוד C++ מקורי, כולל קוד מקור, משאבים וקובצי מניפסט של Java ו-Kotlin. תוצאת ה-build היא קובץ ארכיון של Android (AAR) שאפשר להוסיף בתור או תלות במודולים של האפליקציה ל-Android.
  • ספרייה מקורית של Android: מכילה את כל סוגי הקבצים הנתמכים בפרויקט Android, בדומה לספריית Android. עם זאת, ספריות מקוריות של Android יכולות גם להכיל קוד מקור של C++‏. תוצאת ה-build היא קובץ ארכיון של Android (AAR) שאפשר להוסיף כתלות במודולים של אפליקציות ל-Android.
  • ספריית Java או Kotlin: מכילה רק קובצי מקור של Kotlin או Java. תוצאת ה-build היא קובץ Java Archive ‏(JAR) שאפשר להוסיף כיחסי תלות למודול האפליקציה של Android או לפרויקטים אחרים של Kotlin או Java.

לפעמים מודולים נקראים פרויקטים משניים, Gradle מתייחסת גם למודולים כאל פרויקטים.

כאשר יוצרים מודול ספרייה ורוצים להוסיף אותו כתלות מודול האפליקציה ל-Android, צריך להצהיר עליו כך:

dependencies {
    implementation project(':my-library-module')
}
dependencies {
    implementation(project(":my-library-module"))
}

קבצים בפרויקט

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

חלק מההבדלים המבניים בין התצוגה של Android לבין המבנה בדיסק הם שהתצוגה של Android:

  • הצגת כל קובצי התצורה שקשורים ל-build של הפרויקט ברמה העליונה קבוצת Gradle Script.
  • מציג את כל קובצי המניפסט של כל מודול בקבוצה ברמת המודול כאשר כוללים קובצי מניפסט שונים לטעמים שונים של מוצרים ולסוגי build שונים.
  • הצגת כל קובצי המשאבים החלופיים בקבוצה אחת, במקום בתיקיות נפרדות לכל מגדיר משאב. לדוגמה, כל צפיפות הצפיפות גרסאות של סמל מרכז האפליקציות שלך מופיעות זו לצד זו.

בכל מודול של אפליקציה ל-Android, הקבצים מוצגים בקבוצות הבאות:

מניפסטים
מכיל את הקובץ AndroidManifest.xml.
Java
מכיל את קובצי קוד המקור של Kotlin ו-Java, מופרדים לפי שמות חבילות, כולל קוד הבדיקה של JUnit.
res
מכיל את כל המשאבים שאינם קוד, כמו מחרוזות ממשק משתמש ו תמונות מפת סיביות (bitmap), מחולקות לספריות משנה מתאימות. למידע נוסף על סוגי המשאבים האפשריים, ראו סקירה כללית על משאבי אפליקציות.

תצוגת הפרויקט

כדי לראות את מבנה הקבצים בפועל של הפרויקט, כולל כל הקבצים המוסתרים בתצוגה Android, בוחרים באפשרות Project בתפריט שבחלק העליון של החלון Project.

כשבוחרים בתצוגה Project, אפשר לראות הרבה יותר קבצים ומספרות, כולל:

module-name/
build/
מכיל פלט של גרסאות build.
libs/
מכילה ספריות פרטיות.
src/
מכיל את כל קובצי הקוד והמשאבים למודול הבאים ספריות משנה:
androidTest/
מכיל קוד לבדיקות של מכשירי מדידה שפועלות במכשיר Android. מידע נוסף זמין במאמר בדיקה ב-Android Studio.
cpp/
מכיל קוד C או C++ מקורי באמצעות ממשק המקור של Java (JNI). מידע נוסף זמין במאמר הבא: למסמכי התיעוד של Android NDK.
main/
מכיל את הקבצים 'העיקריים' של קבוצת המקור: הקוד והמשאבים של Android ששותפו על ידי כל הווריאציות של ה-build (קבצים של וריאציות אחרות של build נמצאים בספריות אחיות, למשל src/debug/ לסוג ה-build של ניפוי באגים):
AndroidManifest.xml
תיאור של אופי האפליקציה וכל אחד מהרכיבים שלה. מידע נוסף זמין במאמר מניפסט של אפליקציה סקירה כללית
java/
מכיל מקורות קוד Kotlin או Java, או את שניהם, אם לאפליקציה יש גם Kotlin וגם Java קוד המקור.
kotlin/
מכיל רק מקורות קוד של Kotlin.
res/
מכיל משאבי אפליקציה, כמו קבצים ניתנים לציור וקובצי מחרוזות של ממשק משתמש. מידע נוסף זמין בסקירה הכללית על משאבי האפליקציה.
assets/
מכיל קבצים שצריך לקמפל לקובץ APK כפי שהם. לדוגמה, זהו מיקום טוב לתמונות טקסטורה ולנתוני משחק. אפשר לנווט בספרייה הזאת באותו אופן כמו במערכת קבצים רגילה, באמצעות מזהי URI וקריאת קבצים כזרם של בייטים באמצעות AssetManager
test/
מכיל קוד לבדיקות מקומיות שרצות ב-JVM של המארח שלך.
build.gradle או build.gradle.kts (מודול)
הפעולה הזו קובעת את תצורות ה-build הספציפיות למודול. build.gradle הוא/היא את שם הקובץ הנכון אם משתמשים ב-Groovy כשפת הסקריפט ל-build, build.gradle.kts אם משתמשים בסקריפט Kotlin.
build.gradle או build.gradle.kts (פרויקט)
הגדרת תצורת ה-build שחלה על כל המודולים. build.gradle הוא שם הקובץ הנכון אם משתמשים ב-Groovy כשפת הסקריפט ל-build build.gradle.kts אם משתמשים בסקריפט Kotlin. הקובץ הזה הוא חלק בלתי נפרד מהפרויקט, לכן חשוב לשמור עליו בבקרת גרסאות עם כל שאר קוד המקור.

מידע על קובצי build אחרים זמין במאמר הגדרת ה-build.

הגדרות המבנה של הפרויקט

כדי לשנות הגדרות שונות בפרויקט ב-Android Studio, פותחים את תיבת הדו-שיח Project Structure בלחיצה על File > Project Structure. הוא מכיל את לסעיפים הבאים:

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

  • יצירת וריאנטים: מאפשרת להגדיר סוגי build בטעמים שונים לפרויקט שלך.

    • טעמים: מאפשרים לכם ליצור כמה טעמים של build, כל טעם מציין מערך של הגדרות תצורה, כמו גרסת ה-SDK המינימלית וגרסת היעד של המודול, קוד גרסה ו שם הגרסה.

      לדוגמה, אפשר להגדיר גרסה אחת עם גרסת SDK מינימלית של 21 וגרסת SDK יעד של 29, וגרסה אחרת עם גרסת SDK מינימלית של 24 וגרסת SDK יעד של 33.

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