אופטימיזציה של Android App Bundle (AAB) לגודל APK קטן יותר

גודל האפליקציה משפיע ישירות על שיעור ההתקנות ועל דירוג Google Play. אנו מגדירים את Android App Bundle (AAB) כך שכל משתמש מוריד רק את הרכיבים הדרושים לו—ללא ספריות ומשאבים מיותרים. הצוות שלנו מספק פתרון מלא: מהגדרת splits ודחיסת טקסטורות ועד אופטימיזציה של R8/ProGuard, עם ביצועים אמינים ותמיכה מתמשכת.

פיתוח ותמיכה בכל סוגי היישומים הניידים:

יישומים ניידים למידע ובידור
אפליקציות חדשות, משחקים, מדריכים, קטלוגים מקוונים, אפליקציות מזג אוויר, אפליקציות כושר ובריאות, אפליקציות נסיעות, אפליקציות חינוכיות, רשתות חברתיות ומסנג'רים, חידונים, בלוגים ופודקאסטים, פורומים, אגרגטורים
יישומים ניידים למסחר אלקטרוני
חנויות מקוונות, אפליקציות B2B, מרקטפלייסים, בורסות מקוונות, שירותי קאשבק, בורסות, פלטפורמות דרופשיפינג, תוכניות נאמנות, משלוחי מזון ומוצרים, מערכות תשלום.
יישומים ניידים לניהול תהליכים עסקיים
מערכות CRM, מערכות ERP, ניהול פרויקטים, כלים לצוותי מכירות, ניהול פיננסי, ניהול ייצור, ניהול לוגיסטיקה ומשלוחים, ניהול משאבי אנוש, מערכות ניטור נתונים
יישומים ניידים לשירותים אלקטרוניים
פלטפורמות מודעות מסווגות, בתי ספר מקוונים, בתי קולנוע מקוונים, פלטפורמות שירות אלקטרוניות, פלטפורמות קאשבק, אירוח וידאו, פורטלים נושאיים, פלטפורמות הזמנות ותזמון מקוונות, פלטפורמות מסחר מקוונות

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

השירותים שאנו מציעים
מציג 1 מתוך 1כל 1734 השירותים
אופטימיזציה של Android App Bundle (AAB) לגודל APK קטן יותר
בינוני
מ- 1 יום עד 3 ימים

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית מובייל עבור FEEDME
    פיתוח אפליקציית מובייל עבור FEEDME
    971
  • פיתוח אפליקציית מובייל עבור XOOMER
    פיתוח אפליקציית מובייל עבור XOOMER
    869
  • פיתוח אפליקציית מובייל עבור RHL
    פיתוח אפליקציית מובייל עבור RHL
    1289
  • פיתוח אפליקציית מובייל עבור ZIPPY
    פיתוח אפליקציית מובייל עבור ZIPPY
    1143
  • פיתוח אפליקציית מובייל עבור Affhome
    פיתוח אפליקציית מובייל עבור Affhome
    1076
  • פיתוח אפליקציית מובייל עבור חברת FLAVORS
    פיתוח אפליקציית מובייל עבור חברת FLAVORS
    677

אופטימיזציה של Android App Bundle (AAB) לגודל APK קטן יותר

מאז ש-Google Play הפכה את AAB לפורמט החובה עבור אפליקציות חדשות, פשוט המרת APK ל-AAB לא מקטינה אוטומטית את הגודל — אנו רואים זאת כמעט בכל פרויקט שני. ללא הגדרה נכונה של splits, דחיסת טקסטורות ו-R8, תקבלו רק חיסכון שולי. הצוות שלנו, עם ניסיון של 5+ שנים בפיתוח אנדרואיד ו-20+ פרויקטי שחרור, מסייע בהגדרת AAB כך שגודל ה-APK הניתן להורדה קטן ב-15–35%. להלן הצעדים הקונקרטיים שמניבים תוצאות מדידות.

כיצד Android App Bundle מקטין את גודל ה-APK?

APK הוא ארכיון מונוליטי עבור כל המכשירים. AAB הוא קונטיינר עם מודולים שמהם Google Play מייצרת APK מותאם אישית לכל מכשיר. לדוגמה, Samsung Galaxy S23 יקבל רק ספריות arm64-v8a ומשאבי xxhdpi, ללא גרסאות x86, armeabi-v7a או xhdpi/hdpi. התוצאה: ה-APK הניתן להורדה קטן בממוצע ב-15–35% — זהו נתון רשמי מ-Google, שאושר על אפליקציות אמיתיות. תיעוד Android Developers מאשר: "בממוצע, גודל Android App Bundles קטן בכ-15% מאשר APKs." אנו מבטיחים את אותו אפקט על הפרויקט שלכם.

מה להגדיר ב-build.gradle עבור AAB אופטימלי?

הגדרת splits היא הבסיס של AAB. הנה ההתקנה המינימלית:

android {
    bundle {
        language {
            enableSplit = true
        }
        density {
            enableSplit = true
        }
        abi {
            enableSplit = true
        }
        texture {
            enableSplit = true
            defaultFormat = "ETC2"
        }
    }
}

android { bundle { language { enableSplit = true } density { enableSplit = true } abi { enableSplit = true } texture { enableSplit = true defaultFormat = "ETC2" } } } splits הם קריטיים למשחקים ולאפליקציות עם גרפיקת תלת-ממד. בלעדיהם, כל פורמטי הטקסטורה נארזים יחד, מה שעלול להוסיף 50–100 MB. ETC2 הוא פורמט אוניברסלי (GLES 3.0+), ASTC מציע דחיסה הטובה ביותר במכשירים מודרניים (Adreno 530+, Mali-G51+). הבחירה תלויה ברמת ה-API המינימלית שלכם.

הגדרות נוספות לדחיסת טקסטורות

אם האפליקציה שלכם משתמשת ב-ASTC, הגדירו texture בבלוק הטקסטורה. עבור מכשירים ישנים שאינם תומכים ב-ASTC, Google Play תבחר אוטומטית בגרסת ETC2 — אך רק אם enableSplit מופעל. בדקו תאימות באמצעות defaultFormat = "ASTC".

APK לעומת AAB: מה יעיל יותר?

פרמטר APK AAB
גודל הורדה אחיד לכל המכשירים מותאם לכל מכשיר
פיצול טקסטורות לא נתמך נתמך (ETC2, ASTC, DXT)
מודולים דינמיים דורשים הגדרה נפרדת מובנים (Play Feature Delivery)
ניהול גרסאות פשוט דורש bundletool לניתוח

AAB יעיל באופן חד משמעי: הוא מקטין את הגודל ב-15–35% — טוב יותר מכל מפצל APK.

טבלה: פורמטי טקסטורה עבור AAB

פורמט דרישות דחיסה
ETC2 OpenGL ES 3.0+ 4:1
ASTC Adreno 530+, Mali-G51+ 10:1
DXT Nvidia Tegra, GPUs ישנים 6:1

כיצד לאמת את גודל ה-AAB לפני ההעלאה?

השתמשו ב-bundletool. בנו את ערכת ה-APK עם:

bundletool build-apks --bundle=app.aab --output=app.apks \
 --ks=keystore.jks --ks-pass=pass:password \
 --ks-key-alias=key --key-pass=pass:password
bundletool get-size total --apks=app.apks --device-spec=pixel7_spec.json

baseConfig.fgl מתקבל באמצעות bundletool build-apks --bundle=app.aab --output=app.apks \ --ks=keystore.jks --ks-pass=pass:password \ --ks-key-alias=key --key-pass=pass:password bundletool get-size total --apks=app.apks --device-spec=pixel7_spec.json . זה נותן את גודל ההורדה המדויק עבור מכשיר יעד לפני ההעלאה ל-Play Store.

מדוע R8 ו-ProGuard הם חובה עבור AAB?

buildTypes {
    release {
        minifyEnabled = true
        shrinkResources = true
        proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
    }
}

device-spec.json פועל רק כאשר bundletool get-device-spec --adb=<path>. הוא מסיר משאבים שאינם בשימוש — מחרוזות, תמונות, פריסות — בהתבסס על ניתוח קוד סטטי. בפרויקטים אמיתיים אנו רואים הפחתה נוספת של 5–20 MB. R8 במצב מלא מסיר קוד בצורה אגרסיבית יותר ומבצע inlining למתודות, ומקטין את הגודל בעוד 5–15% בהשוואה ל-ProGuard הישן.

ניתוח גודל באמצעות Android Studio

עברו אל buildTypes { release { minifyEnabled = true shrinkResources = true proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro") } } (עובד עם AAB לאחר חילוץ). הוא מציג תרשים עוגה: shrinkResources = true, minifyEnabled = true, Build → Analyze APK, classes.dex. אתם מיד רואים מה תופס הכי הרבה מקום. ממצאים אופייניים:

  • res/ עם קבצי JSON לא דחוסים — דחסו או עברו לפורמט בינארי (Protobuf / FlatBuffers)
  • lib/ עם ספריות native עבור כל ה-ABIs כולל assets/ ו-assets/ — השאירו רק lib/ ו-x86 עבור builds ייצור
  • x86_64 עם PNG במקום שבו VectorDrawable יספיק

מה כוללת העבודה שלנו

הגדרת AAB אינה דגל בודד; זהו סט של פעולות. הנה הצעדים שאנו מבצעים:

  1. ביקורת על התצורה הנוכחית: בדיקת splits, דחיסת טקסטורות, R8/ProGuard, bundletool.
  2. הגדרת build.gradle: slots ופורמטי טקסטורה נכונים.
  3. אופטימיזציה של משאבים: דחיסת נכסים, הסרת משאבים שאינם בשימוש, המרת PNG ל-VectorDrawable.
  4. אימות גודל: חישוב באמצעות bundletool עבור 3–5 מכשירי יעד.
  5. תיעוד: דוח על השינויים והמלצות לשחרורים עתידיים.
  6. הדרכת צוות: כיצד לשמר אופטימיזציית AAB בשחרורים הבאים.

הקטנת גודל האפליקציה ב-15–35% מורידה ישירות את עלויות התעבורה למשתמשים ומגבירה את שיעורי ההמרה להתקנה. אנו מבטיחים הפחתה בגודל ה-APK הניתן להורדה של 15–35%. קבלו ייעוץ על הגדרת AAB לפרויקט שלכם — נבדוק את ה-build הנוכחי שלכם ונצביע בדיוק כמה תוכלו לחסוך.

לוח זמנים

הגדרת AAB עם אימות bundletool אורכת 1–2 ימים. אם נדרשת אופטימיזציית גודל מלאה, כולל כוונון R8 ופיצול טקסטורות, זה 3–5 ימים. צרו קשר כדי לדון במקרה הספציפי שלכם.