מפעילים סלולריים יכולים לעדכן את פרטי שם נקודת הגישה (APN) ואת הגדרות התצורה הספציפיות למפעיל (CarrierConfig) בפרויקט קוד פתוח של Android (AOSP).
חשבון Google עם כתובת האימייל העסקית שלכם
כדי לעדכן את פרטי ה-APN או את CarrierConfig, צריך לשלוח את הבקשה באמצעות חשבון Google עם כתובת אימייל פעילה של החברה (לדוגמה, בקשה לעדכון APN מחברת Acme צריכה להגיע מכתובת אימייל כמו foobar@acme.com).
אם אין לכם חשבון Google שמקושר לכתובת האימייל שלכם בעבודה, אתם צריכים להתנתק מכל חשבונות Gmail בדפדפן (מומלץ להשתמש בתכונה של גלישה פרטית, כמו חלון אנונימי, כדי למנוע בלבול עם החשבונות האחרים שלכם) ואז ליצור חשבון Google עם כתובת האימייל שלכם בעבודה.
הכנת סביבת פיתוח מקומית
אם אף פעם לא שלחתם קוד ל-AOSP, תצטרכו לאתחל את סביבת build, להכיר את הכלים ולהבין איך שולחים תיקונים:
בנוסף, מומלץ מאוד להשתמש בIssue Tracker של Google כדי לעקוב אחרי שינויים.
דיווח על באג
- עוברים אל issuetracker.google.com ונכנסים באמצעות כתובת האימייל שלכם בעבודה (ראו חשבון Google עם כתובת האימייל שלכם בעבודה).
- אחרי שמתחברים לחשבון, לוחצים על יצירת בעיה בצד ימין של המסך.
- בקטע Component (רכיב), בוחרים באפשרות Android Public Tracker > Framework (כלי ציבורי למעקב אחרי באגים ב-Android > מסגרת)
- ממשיכים אל עדכון APN או אל עדכון CarrierConfig, לפי הצורך, כדי להזין את השם והתיאור.
באג ב-APN
מגדירים את מאפייני הבאג באופן הבא:
Title: Add/Modify/Remove APNs for CarrierXYZ
תיאור: מוסיפים תיאור מפורט של השינויים שרוצים לבצע, כולל הגדרות ה-APN עצמן.
באג ב-CarrierConfig
מגדירים את מאפייני הבאג באופן הבא:
כותרת: שינויים בהגדרות של CarrierXYZ
תיאור: מוסיפים תיאור מפורט של השינויים שרוצים לבצע.
שליחת השינויים
כדי לבצע שינויים:
- מזהים את הקובץ שרוצים לשנות.
- לבצע שינויים בקובץ,
- שומרים את השינויים במאגר המקומי לפי ההוראות ל שליחת תיקונים, תוך הקפדה על ההנחיות לגבי הודעת השמירה, כולל הפורמט המומלץ.
- אחרי שמאשרים את השינוי בהיסטוריה האישית, מעלים אותו ל-Gerrit באמצעות הפקודה
repo upload. - אחרי שההעלאה תושלם בהצלחה, 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" />
בדיקה
- מחברים כל מכשיר Android שיש לכם גישת Root אליו.
- מוסיפים הגדרות ל- /etc/apns-conf.xml.
- איפוס הגדרות ה-APN.
- בהגדרות APN, מוודאים שהפרופילים נטענים בצורה תקינה.
- לכל פרופיל, בודקים את קישוריות הנתונים, את נקודת ה-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 זמינה במאמר דוגמה ל-APN של BICS.
התחביר של CarrierConfig
שם הפרויקט – platform/packages/apps/CarrierConfig
שמות הקבצים – assets/carrier_config_
מזהים את קובצי ה-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 כדי למשוך את העדכון ללקוח המקומי שלהם.