ความเข้ากันได้ของไฟล์ Manifest ของแอปสำหรับ Chromebook

ขณะเตรียมแอป Android ให้ทำงานบน Chromebook ให้พิจารณา ฟีเจอร์ของอุปกรณ์ที่แอปใช้ Chromebook ไม่รองรับฟีเจอร์ฮาร์ดแวร์และซอฟต์แวร์ทั้งหมดที่พร้อมใช้งานในอุปกรณ์อื่นๆ ที่ใช้ Android หากแอปของคุณต้องใช้ฟีเจอร์เฉพาะที่ Chromebook ไม่รองรับ แอปจะติดตั้งใน Chromebook ไม่ได้

คุณประกาศข้อกำหนดของแอปสำหรับฟีเจอร์ฮาร์ดแวร์และฟีเจอร์ซอฟต์แวร์บางอย่างในไฟล์ Manifest เอกสารนี้อธิบายการประกาศฟีเจอร์ในไฟล์ Manifest ของแอปที่ใช้กับ Chromebook ไม่ได้

รายการไฟล์ Manifest ที่ใช้ร่วมกันไม่ได้

รายการไฟล์ Manifest ที่แสดงในส่วนนี้ใช้กับ Chromebook ไม่ได้ หากแอปของคุณใช้รายการใดรายการหนึ่งเหล่านี้ ให้พิจารณานำออกหรือใส่ค่าแอตทริบิวต์ required="false" ไว้ด้วยเพื่อให้ติดตั้งแอปใน Chromebook ได้

ดูข้อมูลเพิ่มเติมเกี่ยวกับการประกาศการใช้ฟีเจอร์โดยไม่ต้องกำหนดให้ฟีเจอร์พร้อมใช้งานในอุปกรณ์ได้ที่คำแนะนำสำหรับองค์ประกอบไฟล์ Manifest ของ <uses-feature> ดูรายการฟีเจอร์และคำอธิบายทั้งหมดของไฟล์ Manifest ของแอปได้ในข้อมูลอ้างอิงฟีเจอร์

หมายเหตุ: Android Studio มีการตรวจสอบ Lint ในตัวเพื่อ ตรวจสอบไฟล์ Manifest โดยอัตโนมัติ ใน Android Studio ให้เลือกไฟล์ > การตั้งค่า > เอดิเตอร์ > การตรวจสอบ > Android > Lint > ความถูกต้อง > ChromeOS

ฟีเจอร์ฮาร์ดแวร์

การรองรับฟีเจอร์ฮาร์ดแวร์จะแตกต่างกันไปใน Chromebook Chromebook บางรุ่นไม่รองรับฟีเจอร์บางอย่าง ขณะที่ Chromebook บางรุ่นรองรับฟีเจอร์บางอย่างเท่านั้น

ฟีเจอร์พิเศษ

android.hardware.type.pc ปิดใช้การจำลองอินพุตสำหรับเมาส์ และทัชแพดเพื่อให้รองรับฮาร์ดแวร์ใน Chromebook ได้ดียิ่งขึ้น คุณต้องระบุ required="false" สำหรับรายการนี้ มิฉะนั้นแอปจะทำงานได้เฉพาะใน Chromebook เท่านั้น

ฟีเจอร์ฮาร์ดแวร์ที่ไม่รองรับ

รายการต่อไปนี้ประกอบด้วยฟีเจอร์ฮาร์ดแวร์ที่ ไม่รองรับใน Chromebook

  • android.hardware.camera: กล้องหลัง
  • android.hardware.camera.autofocus: กล้องที่ใช้ โฟกัสอัตโนมัติ
  • android.hardware.camera.capability.manual_post_processing: กล้องที่ใช้ฟีเจอร์ MANUAL_POST_PROCESSING รวมถึงฟังก์ชันการทำงานสำหรับการลบล้างไวต์บาลานซ์อัตโนมัติ
  • android.hardware.camera.capability.manual_sensor: กล้อง ที่ใช้ฟีเจอร์ MANUAL_SENSOR รวมถึงรองรับการล็อกค่าแสงอัตโนมัติ
  • android.hardware.camera.capability.raw: กล้องที่ใช้ ฟีเจอร์ RAW รวมถึงความสามารถในการบันทึกไฟล์ DNG (RAW) และให้ข้อมูลเมตาที่เกี่ยวข้องกับ DNG
  • android.hardware.camera.flash: กล้องที่ใช้แฟลช
  • android.hardware.camera.level.full: กล้องที่ใช้ FULLการรองรับการจับภาพระดับ
  • android.hardware.consumerir: อินฟราเรด (IR)
  • android.hardware.location.gps: ระบบกำหนดตำแหน่งทั่วโลก (GPS)
  • android.hardware.nfc: Near-Field Communication (NFC)
  • android.hardware.nfc.hce: การจำลองบัตร NFC ซึ่งเลิกใช้งานแล้ว
  • android.hardware.sensor.barometer: บารอมิเตอร์ (ความกดอากาศ)
  • android.hardware.telephony: โทรศัพท์ รวมถึงวิทยุ ที่มีบริการสื่อสารข้อมูล
  • android.hardware.telephony.cdma: รองรับเครือข่ายโทรคมนาคมแบบ Code Division Multiple Access (CDMA)
  • android.hardware.telephony.gsm: การรองรับเครือข่าย Global System for Mobile Communications (GSM)
  • android.hardware.type.automotive: อุปกรณ์ Android Automotive OS
  • android.hardware.type.television: โทรทัศน์ ซึ่งเลิกใช้งานแล้ว
  • android.hardware.usb.accessory: โหมดอุปกรณ์เสริม USB
  • android.hardware.usb.host: โหมดโฮสต์ USB

ฟีเจอร์ฮาร์ดแวร์ที่รองรับบางส่วน

รายการต่อไปนี้ประกอบด้วยฟีเจอร์ฮาร์ดแวร์ที่อาจมีใน Chromebook บางรุ่น

  • android.hardware.sensor.accelerometer: ตัวตรวจวัดความเร่ง (การวางแนวอุปกรณ์)
  • android.hardware.sensor.compass: เข็มทิศ
  • android.hardware.sensor.gyroscope: เครื่องวัดการหมุน (การหมุนและการบิดของอุปกรณ์)
  • android.hardware.sensor.light: ไฟ
  • android.hardware.sensor.proximity: ความใกล้เคียง (กับผู้ใช้)
  • android.hardware.sensor.stepcounter: เครื่องนับก้าว
  • android.hardware.sensor.stepdetector: เครื่องตรวจจับการก้าว

การรองรับฮาร์ดแวร์หน้าจอสัมผัส

ตั้งแต่ ChromeOS เวอร์ชัน M53 เป็นต้นไป แอป Android ทั้งหมดที่ไม่จำเป็นต้องใช้ฟีเจอร์ android.hardware.touchscreen อย่างชัดเจนจะทำงานบนอุปกรณ์ ChromeOS ที่รองรับฟีเจอร์ android.hardware.faketouch ด้วย

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

หากไม่ต้องการให้ติดตั้งแอปในอุปกรณ์ที่มีอินเทอร์เฟซแบบสัมผัสปลอมแต่ไม่มีหน้าจอสัมผัส คุณสามารถดำเนินการอย่างใดอย่างหนึ่งต่อไปนี้

  • ยกเว้นอุปกรณ์ที่เฉพาะเจาะจงใน Google Play Console
  • กรองอุปกรณ์ที่ไม่มีฮาร์ดแวร์หน้าจอสัมผัสโดยประกาศอย่างชัดเจนว่าต้องมี android.hardware.touchscreen เพื่อติดตั้งแอป

ฟีเจอร์ของซอฟต์แวร์

รายการต่อไปนี้ประกอบด้วยฟีเจอร์ซอฟต์แวร์ที่ ไม่รองรับใน Chromebook

  • android.software.app_widgets: วิดเจ็ตแอปในหน้าจอหลัก
  • android.software.device_admin: นโยบายด้านอุปกรณ์ การดูแลระบบ
  • android.software.home_screen: แทนที่หน้าจอหลักของอุปกรณ์
  • android.software.input_methods: วิธีการป้อนข้อมูลที่กำหนดเอง (อินสแตนซ์ของ InputMethodService)
  • android.software.leanback: UI ที่ออกแบบมาเพื่อการรับชมบนหน้าจอขนาดใหญ่
  • android.software.live_wallpaper: วอลเปเปอร์เคลื่อนไหว
  • android.software.live_tv: สตรีมรายการทีวีสด
  • android.software.managed_users: ผู้ใช้รองและ โปรไฟล์ที่มีการจัดการ
  • android.software.sip: บริการ Session Initiation Protocol (SIP) ซึ่งรองรับการประชุมทางวิดีโอและการรับส่งข้อความโต้ตอบแบบทันที
  • android.software.sip.voip: บริการ Voice Over Internet Protocol (VoIP) ที่อิงตาม SIP ซึ่งรองรับการประชุมทางวิดีโอแบบ 2 ทาง

สิทธิ์ที่สื่อถึงข้อกำหนดของฟีเจอร์

สิทธิ์บางอย่างที่คุณขอในไฟล์ Manifest อาจสร้างคำขอโดยนัยสำหรับฟีเจอร์ฮาร์ดแวร์และซอฟต์แวร์ การขอสิทธิ์เหล่านี้จะป้องกันไม่ให้มีการติดตั้งแอปของคุณใน Chromebook

โปรดดูรายละเอียดเกี่ยวกับวิธีป้องกันไม่ให้คำขอสิทธิ์ทำให้แอปของคุณ ใช้งานไม่ได้ใน Chromebook ที่ส่วนรายการในไฟล์ Manifest ที่ไม่เข้ากันของหน้านี้

ตารางต่อไปนี้แสดงสิทธิ์ที่บ่งบอกถึงข้อกำหนดของฟีเจอร์ ซึ่งทำให้แอปไม่สามารถใช้งานร่วมกับ Chromebook ได้

ตารางที่ 1 สิทธิ์ของอุปกรณ์ที่สื่อถึงฟีเจอร์ฮาร์ดแวร์ซึ่ง ใช้ร่วมกับ Chromebook ไม่ได้

หมวดหมู่ สิทธิ์นี้ แสดงถึงข้อกำหนดของฟีเจอร์นี้
กล้อง CAMERA android.hardware.camera และ
android.hardware.camera.autofocus
โทรศัพท์ CALL_PHONE android.hardware.telephony
CALL_PRIVILEGED android.hardware.telephony
MODIFY_PHONE_STATE android.hardware.telephony
PROCESS_OUTGOING_CALLS android.hardware.telephony
READ_SMS android.hardware.telephony
RECEIVE_SMS android.hardware.telephony
RECEIVE_MMS android.hardware.telephony
RECEIVE_WAP_PUSH android.hardware.telephony
SEND_SMS android.hardware.telephony
WRITE_APN_SETTINGS android.hardware.telephony
WRITE_SMS android.hardware.telephony