เมื่อเตรียมแอป Android ให้ทำงานบน Chromebook ให้พิจารณาฟีเจอร์ของอุปกรณ์ที่แอปใช้ Chromebook ไม่รองรับฟีเจอร์ฮาร์ดแวร์และซอฟต์แวร์ทั้งหมดที่มีในอุปกรณ์อื่นๆ ที่ใช้ Android หากแอปต้องใช้ฟีเจอร์บางอย่างที่ Chromebook ไม่รองรับ แอปจะติดตั้งใน Chromebook ไม่ได้
คุณสามารถประกาศข้อกำหนดของแอปสำหรับฟีเจอร์ฮาร์ดแวร์และฟีเจอร์ซอฟต์แวร์บางอย่างในไฟล์ Manifest เอกสารนี้จะอธิบายการประกาศฟีเจอร์ไฟล์ Manifest ของแอปที่เข้ากันไม่ได้กับ Chromebook
รายการไฟล์ Manifest ที่ใช้ร่วมกันไม่ได้
รายการไฟล์ Manifest ที่แสดงในส่วนนี้ใช้กับ Chromebook ไม่ได้ หากแอปใช้รายการเหล่านี้ ให้ลองนำรายการออกหรือระบุค่าแอตทริบิวต์ required="false"
ไว้ด้วยเพื่อให้ติดตั้งแอปใน Chromebook ได้
ดูข้อมูลเพิ่มเติมเกี่ยวกับการประกาศการใช้ฟีเจอร์โดยไม่กำหนดให้ฟีเจอร์พร้อมใช้งานบนอุปกรณ์ได้ที่คู่มือสำหรับองค์ประกอบไฟล์ Manifest <uses-feature>
ดูรายการฟีเจอร์และคำอธิบายไฟล์ Manifest ของแอปทั้งหมดได้ที่ข้อมูลอ้างอิงฟีเจอร์
หมายเหตุ: Android Studio 2.3 ขึ้นไปมีการตรวจสอบ 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
: การรองรับเครือข่ายโทรศัพท์แบบแบ่งรหัสการเข้าใช้งาน (CDMA) -
android.hardware.telephony.gsm
: การรองรับเครือข่าย Global System for Mobile Communications (GSM) ทางโทรศัพท์ -
android.hardware.type.automotive
: อุปกรณ์ Android Automotive OS -
android.hardware.type.television
: television ซึ่งเลิกใช้งานแล้ว -
android.hardware.usb.accessory
: โหมดอุปกรณ์เสริม USB -
android.hardware.usb.host
: โหมดโฮสต์ USB
ฟีเจอร์ฮาร์ดแวร์ที่รองรับบางส่วน
รายการต่อไปนี้เป็นฟีเจอร์ฮาร์ดแวร์ที่อาจพร้อมใช้งานใน Chromebook บางรุ่น
-
android.hardware.sensor.accelerometer
: 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 |