ผู้ให้บริการสามารถอัปเดตข้อมูลชื่อจุดเข้าใช้งาน (APN) และการตั้งค่าการกำหนดค่าเฉพาะผู้ให้บริการ (CarrierConfig) ในโปรเจ็กต์โอเพนซอร์ส Android (AOSP)
บัญชี Google ที่มีอีเมลบริษัท
หากต้องการอัปเดตข้อมูล APN หรือ CarrierConfig คุณต้องส่งคำขอโดยใช้บัญชี Google ที่มีอีเมลบริษัทที่ใช้งานอยู่ (เช่น คำขออัปเดต APN จากบริษัท Acme ควรมาจากอีเมล เช่น foobar@acme.com)
หากไม่มีบัญชี Google ที่ลิงก์กับอีเมลของบริษัท ให้ออกจากระบบบัญชี Gmail ทั้งหมดจากเบราว์เซอร์ (เราขอแนะนำให้ใช้ฟีเจอร์การท่องเว็บส่วนตัว เช่น หน้าต่างที่ไม่ระบุตัวตน เพื่อไม่ให้สับสนกับบัญชีอื่นๆ) จากนั้นสร้างบัญชี Google ด้วยอีเมลของบริษัท
เตรียมสภาพแวดล้อมการพัฒนาในเครื่อง
หากคุณไม่เคยส่งโค้ดไปยัง AOSP มาก่อน คุณจะต้องเริ่มต้นสภาพแวดล้อมการสร้าง ทำความคุ้นเคยกับเครื่องมือ และทําความเข้าใจวิธีส่งแพตช์
นอกจากนี้ เราขอแนะนําอย่างยิ่งให้คุณใช้เครื่องมือติดตามปัญหาของ Google เพื่อติดตามการเปลี่ยนแปลง
รายงานข้อบกพร่อง
- ไปที่ issuetracker.google.com แล้วลงชื่อเข้าใช้ด้วยอีเมลของบริษัท (ดู บัญชี Google ด้วยอีเมลของบริษัท)
- หลังจากเข้าสู่ระบบแล้ว ให้คลิกสร้างปัญหาทางด้านซ้ายของหน้าจอ
- ในคอมโพเนนต์ ให้เลือก เครื่องมือติดตามสาธารณะของ Android > เฟรมเวิร์ก
- ไปที่การอัปเดต APN หรือการอัปเดต CarrierConfig ตามเหมาะสมเพื่อป้อนชื่อและคําอธิบาย
ข้อบกพร่องเกี่ยวกับ APN
ตั้งค่าแอตทริบิวต์ข้อบกพร่องดังนี้
Title: Add/Modify/Remove APNs for CarrierXYZ
คำอธิบาย: เพิ่มคำอธิบายโดยละเอียดเกี่ยวกับการเปลี่ยนแปลงที่ขอ รวมถึงการตั้งค่า APN เอง
ข้อบกพร่องของ CarrierConfig
ตั้งค่าแอตทริบิวต์ข้อบกพร่องดังนี้
Title: การเปลี่ยนแปลงการกําหนดค่าสําหรับ CarrierXYZ
คำอธิบาย: เพิ่มคำอธิบายโดยละเอียดเกี่ยวกับการเปลี่ยนแปลงที่ขอ
ส่งข้อมูลการเปลี่ยนแปลง
วิธีทําการเปลี่ยนแปลง
- ระบุไฟล์ที่จะเปลี่ยนแปลง
- ทำการเปลี่ยนแปลงในไฟล์
- คอมมิตการเปลี่ยนแปลงลงในที่เก็บข้อมูลในเครื่องโดยทําตามวิธีการ การส่งแพตช์ โดยคํานึงถึงหลักเกณฑ์ของข้อความคอมมิต รวมถึงรูปแบบที่แนะนํา
- หลังจากคอมมิตการเปลี่ยนแปลงในประวัติส่วนตัวแล้ว ให้อัปโหลดไปยัง Gerrit ใช้คำสั่ง
repo upload
- หลังจากอัปโหลดเรียบร้อยแล้ว Repo จะแสดง URL ของหน้าใหม่ใน Gerrit ใช้ URL นี้เพื่อดำเนินการต่อไปนี้
- ดูแพตช์ในเซิร์ฟเวอร์ตรวจสอบ
- แสดงความคิดเห็น
- ขอผู้ตรวจสอบที่เฉพาะเจาะจงสำหรับแพตช์ของคุณ
ไวยากรณ์ APN
ชื่อโปรเจ็กต์ Android - อุปกรณ์/ตัวอย่าง
ชื่อไฟล์ - 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 ที่คุณมีสิทธิ์เข้าถึงระดับรูท
- เพิ่มการตั้งค่าลงใน /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
ดูตัวอย่าง 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]
ตัวอย่าง CL
ดูตัวอย่าง CL ได้ใน ไฟล์การกําหนดค่าผู้ให้บริการที่อัปเดต
ขอรับการตรวจสอบ
วิธีขอรับการตรวจสอบ
- ไปที่ URL ของ Gerrit สำหรับการเปลี่ยนแปลง แล้วเพิ่ม android-carrier-config-review@google.com เป็นผู้ตรวจสอบ
- นอกจากนี้ คุณยังเพิ่มผู้ติดต่อ Google ลงในรายชื่อสำเนาใน Gerrit ได้ด้วย
- คุณเปลี่ยนผู้ได้รับมอบหมายของปัญหาเป็น android-carrier-config-review@google.com เพื่อวัตถุประสงค์ในการติดตามได้
หลังจากที่การส่งผ่านผ่านกระบวนการตรวจสอบและการยืนยันแล้ว Gerrit จะผสานการเปลี่ยนแปลงนั้นลงในที่เก็บข้อมูลสาธารณะโดยอัตโนมัติ ผู้ใช้รายอื่นๆ จะเรียกใช้ repo sync
เพื่อดึงข้อมูลอัปเดตลงในไคลเอ็นต์ในเครื่องได้