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

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

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

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

מודולים

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

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

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

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

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

ב-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')
}

Kotlin

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

קובצי פרויקט

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

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

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

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

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

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

כדי לראות את הנתונים של הפרויקט, כולל כל הקבצים שמוסתרים בתצוגת Android, בוחרים באפשרות פרויקט מהתפריט בחלק העליון של החלון 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 Buildure (מבנה הפרויקט) בלחיצה על הסמל קובץ > מבנה הפרויקט. הוא מכיל את לסעיפים הבאים:

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

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

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

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

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