ขณะเตรียมแอป 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 |