อิมเมจระบบทั่วไป (GSI)

Generic System Image (GSI) คือการติดตั้งใช้งาน Android แบบเพียวที่มีโค้ด Android Open Source Project (AOSP) ที่ไม่มีการแก้ไข ซึ่งเรียกใช้ได้ในอุปกรณ์ Android หลากหลายประเภท

นักพัฒนาแอปสามารถติดตั้งและเรียกใช้ GSI ของ Android เวอร์ชันล่าสุดเพื่อทำการทดสอบแอปในอุปกรณ์ Android ที่มีอยู่หลากหลายรุ่น และใช้ GSI จากขั้นตอนการเปิดตัว Android OS ต่างๆ ซึ่งรวมถึงรุ่น Developer Preview และรุ่นเบต้า การเพิ่ม GSI ลงในกระบวนการยืนยันและทดสอบจะช่วยให้คุณได้รับประโยชน์เพิ่มเติมบางอย่าง ดังนี้

  • ครอบคลุมการทดสอบในวงกว้างยิ่งขึ้นบนอุปกรณ์จริงจำนวนมากขึ้น
  • มีเวลามากขึ้นในการแก้ไขปัญหาความเข้ากันได้ของแอป
  • โอกาสเพิ่มเติมในการแก้ไขปัญหาความเข้ากันได้ใน Android ที่นักพัฒนาแอปรายงาน

โปรเจ็กต์ GSI เป็นโอเพนซอร์ส และช่วยปรับปรุงระบบนิเวศของ Android โดยมอบวิธีเพิ่มเติมในการปรับปรุงคุณภาพของแอป และระบบปฏิบัติการก่อนการเปิดตัว Android แต่ละครั้ง

การรองรับ GSI ในอุปกรณ์ต่างๆ
รูปที่ 1: ติดตั้ง GSI ได้ในอุปกรณ์หลากหลายรุ่น และบางครั้งยังติดตั้งใน Android เวอร์ชันที่ผู้ผลิตอุปกรณ์ ไม่ได้จัดเตรียมอิมเมจระบบของตนเองได้ด้วย

GSI มีฟังก์ชันหลักของระบบเดียวกันสำหรับอุปกรณ์ทั้งหมดที่ติดตั้ง กล่าวคือ GSI จะไม่มีการปรับแต่งของผู้ผลิตอุปกรณ์ ด้วยเหตุนี้ คุณจึงอาจพบความแตกต่างด้านพฤติกรรมในสถานการณ์ต่อไปนี้

  • การโต้ตอบที่เกี่ยวข้องกับ UI
  • เวิร์กโฟลว์ที่ขอฟีเจอร์ฮาร์ดแวร์ใหม่กว่า

ตรวจสอบการปฏิบัติตามข้อกำหนดของอุปกรณ์

GSI จะทำงานได้เฉพาะในอุปกรณ์ที่มีลักษณะต่อไปนี้

  • Bootloader ปลดล็อกแล้ว
  • เป็นไปตามข้อกำหนดของ Treble อย่างสมบูรณ์
  • เปิดตัวพร้อม Android 9 (API ระดับ 28) ขึ้นไป อุปกรณ์ที่อัปเกรดเป็น Android 9 จากเวอร์ชันก่อนหน้าอาจรองรับหรือไม่รองรับ GSI

หากต้องการดูว่าอุปกรณ์ใช้ GSI ได้หรือไม่และควรติดตั้งระบบปฏิบัติการ GSI เวอร์ชันใด ให้ทำดังนี้

  1. ตรวจสอบว่าอุปกรณ์รองรับ Treble หรือไม่โดยเรียกใช้คำสั่งต่อไปนี้

    adb shell getprop ro.treble.enabled

    หากคำตอบเป็น false แสดงว่าอุปกรณ์ไม่รองรับ GSI และคุณไม่ควรดำเนินการต่อ หากการตอบกลับเป็น true ให้ทำตามขั้นตอนถัดไป

  2. ตรวจสอบการรองรับข้ามเวอร์ชันโดยเรียกใช้คำสั่งต่อไปนี้

    adb shell cat /system/etc/ld.config.version_identifier.txt \
    | grep -A 20 "\[vendor\]"

    ในเอาต์พุต ให้ดูในส่วน [vendor] สำหรับ namespace.default.isolated

    หากค่าของแอตทริบิวต์นั้นเป็น true แสดงว่าอุปกรณ์รองรับ ชุดพัฒนาซอฟต์แวร์ (SDK) ดั้งเดิมของผู้ให้บริการ (VNDK) อย่างเต็มรูปแบบ และสามารถใช้ ระบบปฏิบัติการ (OS) GSI เวอร์ชันใดก็ได้ที่ใหม่กว่าเวอร์ชัน OS ในอุปกรณ์ ใช้ระบบปฏิบัติการ GSI เวอร์ชันล่าสุดที่พร้อมใช้งานทุกครั้งที่ทำได้

    หากค่าสำหรับแอตทริบิวต์เป็น false แสดงว่าอุปกรณ์ไม่เป็นไปตามข้อกำหนด VNDK อย่างสมบูรณ์ และอุปกรณ์จะใช้ได้เฉพาะ GSI สำหรับ OS เวอร์ชันเดียวกันในอุปกรณ์ เช่น อุปกรณ์ Android 10 (API เวอร์ชัน 29) ที่ไม่เป็นไปตามข้อกำหนด VNDK จะโหลดได้เฉพาะรูปภาพ GSI ของ Android 10

  3. ประเภทสถาปัตยกรรม CPU ของ GSI ต้องตรงกับสถาปัตยกรรม CPU ของอุปกรณ์ หากต้องการ ค้นหาสถาปัตยกรรม CPU ที่เหมาะสมสำหรับอิมเมจ GSI ให้เรียกใช้คำสั่งต่อไปนี้

    adb shell getprop ro.product.cpu.abi

    ใช้เอาต์พุตเพื่อพิจารณาว่าจะใช้อิมเมจ GSI ใดเมื่อแฟลชอุปกรณ์ ตัวอย่างเช่น ใน Pixel 5 เอาต์พุตจะระบุว่าสถาปัตยกรรม CPU คือ arm64-v8a ดังนั้นคุณจึงควรใช้ GSI ประเภท arm64

ดาวน์โหลด GSI

คุณรับ GSI ได้ 2-3 วิธี ขึ้นอยู่กับความต้องการในการพัฒนา

ติดตั้ง GSI

การติดตั้ง GSI จะขึ้นอยู่กับอุปกรณ์ โปรดติดต่อผู้ผลิตอุปกรณ์เพื่อขอข้อมูล เครื่องมือและขั้นตอนที่แน่นอน สำหรับอุปกรณ์ Google Pixel เช่น Pixel 3 และรุ่นที่ใหม่กว่า คุณติดตั้งได้หลายวิธีดังนี้

แสดงความคิดเห็น

GSI มีไว้เพื่อช่วยคุณตรวจสอบแอปใน Android ขอขอบคุณสำหรับความคิดเห็นเกี่ยวกับรูปภาพ เครื่องมือ และกระบวนการใช้ GSI ในอุปกรณ์ ของคุณ

หากต้องการแจ้งข้อบกพร่องหรือส่งคำขอฟีเจอร์ โปรดใช้เครื่องมือติดตามปัญหาเฉพาะ คอมโพเนนต์ สำหรับ GSI

แหล่งข้อมูลเพิ่มเติม