APN ו-CarrierConfig

מפעילים סלולריים יכולים לעדכן את פרטי שם נקודת הגישה (APN) ואת הגדרות התצורה הספציפיות למפעיל (CarrierConfig) בפרויקט Android Open Source Project‏ (AOSP).

חשבון Google עם כתובת האימייל העסקית שלכם

כדי לעדכן את פרטי ה-APN או את CarrierConfig, צריך לשלוח את הבקשה באמצעות חשבון Google עם כתובת אימייל פעילה של החברה (לדוגמה, בקשה לעדכון APN של חברת Acme צריכה להגיע מכתובת אימייל כמו foobar@acme.com).

אם אין לכם חשבון Google שמקושר לכתובת האימייל שלכם בעבודה, אתם צריכים לצאת מכל חשבונות Gmail בדפדפן (מומלץ להשתמש בתכונת גלישה פרטית, כמו חלון אנונימי, כדי למנוע בלבול עם החשבונות האחרים שלכם) ואז ליצור חשבון Google עם כתובת האימייל שלכם בעבודה.

הכנת סביבת פיתוח מקומית

אם אף פעם לא שלחתם קוד ל-AOSP, תצטרכו לאתחל את סביבת הבנייה, להכיר את הכלים ולהבין איך שולחים תיקונים:

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

דיווח על באג

  1. עוברים אל issuetracker.google.com ונכנסים באמצעות כתובת האימייל שלכם בעבודה (ראו חשבון Google עם כתובת האימייל שלכם בעבודה).
  2. אחרי שמתחברים לחשבון, לוחצים על יצירת בעיה בצד ימין של המסך.
  3. בקטע Component (רכיב), בוחרים באפשרות Android Public Tracker > Framework (כלי ציבורי למעקב אחר בעיות ב-Android > מסגרת)
  4. ממשיכים אל עדכון APN או אל עדכון CarrierConfig, לפי הצורך, כדי להזין את השם והתיאור.

באג ב-APN

מגדירים את מאפייני הבאג באופן הבא:

כותרת: הוספה/שינוי/הסרה של APN עבור CarrierXYZ

תיאור: מוסיפים תיאור מפורט של השינויים שרוצים לבצע, כולל הגדרות ה-APN עצמן.

באג ב-CarrierConfig

מגדירים את מאפייני הבאג באופן הבא:

כותרת: שינויים בהגדרות של ספק XYZ

תיאור: מוסיפים תיאור מפורט של השינויים שרוצים לבצע.

שלח שינויים

כדי לבצע שינויים:

  1. מזהים את הקובץ שרוצים לשנות.
  2. מבצעים שינויים בקובץ.
  3. שומרים את השינויים במאגר המקומי לפי ההוראות ל שליחת תיקונים, תוך הקפדה על ההנחיות לגבי הודעת השמירה, כולל הפורמט המומלץ.
  4. אחרי שמאשרים את השינוי בהיסטוריה האישית, מעלים אותו ל-Gerrit באמצעות הפקודה repo upload.
  5. אחרי שההעלאה תושלם בהצלחה, repo יספק את כתובת ה-URL של דף חדש ב-Gerrit. אפשר להשתמש בכתובת ה-URL הזו כדי:
    • הצגת התיקון בשרת הבדיקה
    • הוספת תגובות
    • בקשה מבודקים ספציפיים לבדוק את התיקון

תחביר APN

שם פרויקט Android – device/sample

שמות הקבצים – etc/apns-full-conf.xml (קישור ראשי ל-Google Git)

הקובץ מכיל הגדרות APN בפורמט XML ומשמש כקובץ לדוגמה, כך שלא חל שינוי בהתנהגות של מכשירי Android.

הגדרה אופיינית של APN נראית כך:

<apn carrier="CarrierXYZ"
      mcc="123"
      mnc="123"
      apn="carrierxyz"
      type="default,supl,mms,ims,cbs"
      mmsc="http://mms.carrierxyz.com"
      mmsproxy="0.0.0.0"
      mmsport="80"
      bearer_bitmask="4|5|6|7|8|12"
/>

בדיקה

  1. מחברים כל מכשיר Android שיש לכם גישת root אליו.
  2. מוסיפים הגדרות ל-‎ /etc/apns-conf.xml.
  3. איפוס הגדרות ה-APN.
  4. בהגדרות ה-APN, מוודאים שהפרופילים נטענים בצורה תקינה.
  5. לכל פרופיל, בודקים את הקישוריות לנתונים, את נקודת ה-Wi-Fi לשיתוף אינטרנט ואת ה-MMS כדי לוודא שהם פועלים בצורה תקינה.

הודעה לגבי השינוי

[Example - "Add CarrierXYZ apns to sample apns"]
Bug: [Issue ID from Google Issue Tracker]
Test: No change to behavior as this is only a sample file

דוגמה למסגרת אשראי

דוגמה ל-CL זמינה במאמר Sample BICS APNs.

התחביר של CarrierConfig

שם הפרויקט – platform/packages/apps/CarrierConfig

שמות הקבצים – assets/carrier_config_.xml (קישור ראשי ל-Git של Google)

מזהים את קובצי ה-XML הרלוונטיים בתיקיית הנכסים לפי טופלים רלוונטיים של MCC/MNC. הקובץ מכיל את אובייקט ההגדרות של הספק בפורמט XML. שמות המאפיינים מוגדרים כמפתחות בקטע CarrierConfigManager, והסיומות מציינות את סוג הערך (int/string/bool).

מאפיינים רגילים מסוג int/string/bool נראים כך:

<int name="vvm_port_number_int" value="5499" />
<string name="vvm_type_string">vvm_type_omtp</string >
<boolean name="vvm_cellular_data_required_bool" value="true" />

הודעה לגבי השינוי

[Example - "Add VVM settings for CarrierXYZ"]

[Example - "Updated <mccmnc> carrier config file to include VVM settings
as defined by CarrierXYZ."]

Bug: [Issue ID from Google Issue Tracker]
Test: [Testing notes]

דוגמה למסגרת אשראי

קובץ תצורת ספק מעודכן לדוגמה

בקשת בדיקה

כדי לבקש בדיקה:

  • עוברים לכתובת ה-URL של Gerrit של השינוי ומוסיפים את android-carrier-config-review@google.com כבודק.
  • אפשר גם להוסיף את איש הקשר ב-Google לרשימת העותקים ב-Gerrit.
  • לצורך מעקב, אפשר לשנות את הנמען של הבעיה לכתובת android-carrier-config-review@google.com.

אחרי שההגשה עוברת את תהליך הבדיקה והאימות, Gerrit ממזג באופן אוטומטי את השינוי למאגר הציבורי. משתמשים אחרים יכולים להריץ את הפקודה repo sync כדי למשוך את העדכון ללקוח המקומי שלהם.