APN ו-CarrierConfig

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

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

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

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

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

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

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

דיווח על באג

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

באג ב-APN

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

Title: הוספה/שינוי/הסרה של פרטי APN עבור CarrierXYZ

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

באג ב-CarrierConfig

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

Title: שינויים בהגדרות של CarrierXYZ

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

שלח שינויים

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

  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

כאן אפשר למצוא דוגמה ל-CL.

תחביר של CarrierConfig

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

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

מזהים את קובצי ה-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]

דוגמה ל-CL

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

בקשת בדיקה

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

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

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