เริ่มสร้างแอปสำหรับ ChromeOS

อุปกรณ์ ChromeOS เช่น Chromebook รองรับ Google Play Store และ แอป Android บทความนี้จะถือว่าคุณมีแอป Android อยู่แล้วที่ออกแบบมาเพื่อ โทรศัพท์หรือแท็บเล็ตที่คุณต้องการเพิ่มประสิทธิภาพสำหรับ Chromebook เพื่อเรียนรู้พื้นฐาน ของการสร้างแอป Android โปรดดูสร้าง Android เครื่องแรกของคุณ แอป

อัปเดตไฟล์ Manifest ของแอป

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

สำหรับ ChromeOS เวอร์ชัน M53 แอป Android ทั้งหมดที่ไม่ได้กำหนดให้มี android.hardware.touchscreen ยังสามารถทำงานบนอุปกรณ์ ChromeOS ที่รองรับ android.hardware.faketouch แต่เพื่อให้มั่นใจว่าแอปของคุณทำงานได้ Chromebook อัปเดตไฟล์ Manifest เพื่อให้ ไม่จำเป็นต้องใช้ฟีเจอร์ android.hardware.touchscreen ตามที่แสดงใน ดังตัวอย่างต่อไปนี้

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          ... >
    <!-- Some Chromebooks don't support touch. Although not essential,
         it's a good idea to explicitly include this declaration. -->
    <uses-feature android:name="android.hardware.touchscreen"
                  android:required="false" />
</manifest>

อุปกรณ์ฮาร์ดแวร์ต่างๆ จะมาพร้อมเซ็นเซอร์คนละชุด และ Chromebook อาจไม่มีเซ็นเซอร์ทั้งหมดที่พบในอุปกรณ์มือถือ Android เช่น GPS และตัวตรวจวัดความเร่ง อย่างไรก็ตาม ในบางกรณี ของเซ็นเซอร์ไว้ให้ด้วยวิธีอื่น ตัวอย่างเช่น Chromebook อาจไม่ มีเซ็นเซอร์ GPS แต่จะให้ข้อมูลตำแหน่งโดยอิงตามการเชื่อมต่อ Wi-Fi โปรดดูภาพรวมเซ็นเซอร์เพื่อเรียนรู้ ข้อมูลเพิ่มเติมเกี่ยวกับเซ็นเซอร์ที่แพลตฟอร์ม Android รองรับ

หากคุณต้องการให้แอปทำงานบน Chromebook โดยไม่คำนึงถึงความพร้อมใช้งานของเซ็นเซอร์ อัปเดตไฟล์ Manifest ให้ไม่ต้องใช้เซ็นเซอร์

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

อัปเดต SDK เป้าหมาย

อัปเดต targetSdkVersion ของแอป เป็นระดับ API ล่าสุดที่พร้อมใช้งานเพื่อใช้ประโยชน์จาก ที่ดีขึ้นในแพลตฟอร์ม Android ตรวจสอบการปรับปรุงใน Android ในแพลตฟอร์มที่หลากหลายเวอร์ชันต่างๆ

ตรวจสอบข้อกำหนดเกี่ยวกับเครือข่าย

Chromebook ใช้ระบบปฏิบัติการ Android ทั้งหมดในคอนเทนเนอร์ ซึ่งคล้ายกับ Docker หรือ LXC ซึ่งหมายความว่า Android ไม่มีสิทธิ์เข้าถึง LAN ของระบบโดยตรง ของ Google แต่การรับส่งข้อมูล IPv4 จะผ่านชั้นเครือข่ายภายในแทน การแปลที่อยู่ (NAT) และการรับส่งข้อมูลแบบ IPv6 แบบ Unicast จะส่งผ่านแท็กเพิ่มเติม Hop

การเชื่อมต่อ Unicast ขาออกจากแอป Android ไปยังอินเทอร์เน็ตเป็นส่วนใหญ่ ทำงานตามที่เป็นอยู่ โดยทั่วไปแล้ว การเชื่อมต่อขาเข้าจะถูกบล็อก มัลติแคสต์หรือออกอากาศ ระบบจะไม่ส่งต่อแพ็กเก็ตจาก Android ไปยัง LAN ผ่านไฟร์วอลล์

สำหรับข้อยกเว้นของข้อจำกัดมัลติแคสต์ ChromeOS จะเรียกใช้บริการที่ ส่งต่อการเข้าชมแบบ mDNS ระหว่าง Android และอินเทอร์เฟซ LAN เพื่อให้มาตรฐาน Network Service Discovery API เป็นวิธีที่แนะนำในการค้นหาอุปกรณ์อื่นๆ ในกลุ่ม LAN หลัง การค้นหาอุปกรณ์ใน LAN, แอป Android จะใช้ Unicast มาตรฐาน TCP หรือ UDP ได้ Socket สำหรับสื่อสารกับเครือข่าย

การเชื่อมต่อ IPv4 ที่มาจาก Android จะใช้ที่อยู่ IPv4 ของโฮสต์ ChromeOS ภายใน แอป Android จะเห็นที่อยู่ IPv4 ส่วนตัวที่กำหนดให้กับเครือข่าย ของ Google การเชื่อมต่อ IPv6 ที่มาจาก Android ใช้ที่อยู่อื่น จากโฮสต์ ChromeOS เนื่องจากคอนเทนเนอร์ Android มี ที่อยู่ IPv6

ใช้พื้นที่เก็บข้อมูลระบบคลาวด์และในเครื่องได้อย่างมีประสิทธิภาพ

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

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

Chromebook ยังสามารถใช้ร่วมกันกับคนจำนวนมาก เช่น โรงเรียน เนื่องจากพื้นที่เก็บข้อมูลในเครื่องไม่จำกัดอยู่ บัญชีทั้งบัญชีจึงอาจรวมกัน พร้อมพื้นที่เก็บข้อมูล และสามารถนำออกจากอุปกรณ์ได้ทุกเมื่อ สำหรับ การศึกษา ควรคำนึงถึงสถานการณ์นี้เสมอ

อัปเดตไลบรารี NDK

หากแอปใช้ไลบรารี Android NDK และเวอร์ชัน SDK เป้าหมายของแอปคือ 23 หรือ ให้สูงกว่า ตรวจสอบให้แน่ใจว่าได้นำการย้ายข้อความออกจากทั้ง ARM และ x86 แล้ว เวอร์ชันของไลบรารี NDK เนื่องจากใช้ร่วมกันใน Android 6.0 (API) ไม่ได้ ระดับ 23) ขึ้นไป การปล่อยให้ข้อความย้ายไปอยู่ในคลัง NDK หมายความว่าคุณ อาจทำให้เกิดข้อผิดพลาดเกี่ยวกับความเข้ากันได้กับ Chromebook โดยเฉพาะอย่างยิ่งเมื่อ ที่ทำงานบนอุปกรณ์ที่ใช้สถาปัตยกรรม x86

พัฒนากรอบการทดสอบใหม่สำหรับแอปของคุณ

ในการพัฒนากรอบการทดสอบสำหรับแอปของคุณ ก่อนอื่นให้ตรวจสอบว่าคุณระบุ ไฟล์ Manifest โดยเฉพาะอย่างยิ่ง คุณควรลองตั้งค่าscreenOrientation ไปยัง unspecified หากต้องการกำหนดการวางแนวนอน โปรดพิจารณาใช้ sensorLandscape เพื่อรับประสบการณ์การใช้งานบนแท็บเล็ตที่ดีที่สุด

หากคุณต้องการขนาดหรือการวางแนวพิเศษสำหรับสภาพแวดล้อมเดสก์ท็อป ให้พิจารณา การเพิ่มเมตาแท็กเป็นคำแนะนำขนาดหรือการวางแนว วิธีรวมขนาดและการวางแนว ในโทรศัพท์ ระบุรูปแบบ defaultHeight, defaultWidth, หรือ minHeight แอตทริบิวต์แทน

หากคุณสนใจในการจัดการอุปกรณ์อินพุตเฉพาะสำหรับแต่ละอุปกรณ์ หมวดหมู่ ให้ระบุ android.hardware.type.pc เพื่อปิดใช้อินพุต โหมดความเข้ากันได้

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

เราขอแนะนำให้ดูรายการกรอบการทดสอบสำหรับแอป Android ใน Chrome ระบบปฏิบัติการที่ใช้ในแผนการทดสอบได้ กรอบการทดสอบครอบคลุมสถานการณ์ทั่วไปที่ควรเตรียมแอป Android หากคาดว่าจะทำงานในอุปกรณ์ ChromeOS

การเปลี่ยนหลายหน้าต่างและการวางแนว

สภาพแวดล้อมหลายหน้าต่างของ ChromeOS สามารถสร้างความต่อเนื่องและจดจำสถานะได้ ปัญหาที่ชัดเจนยิ่งขึ้น ใช้ ViewModel เพื่อบันทึกและคืนค่าสถานะของคุณตามความเหมาะสม

หากต้องการทดสอบความต่อเนื่องของสถานะ ให้ย่อแอปลงสักระยะหนึ่ง แล้วเริ่มใหม่ ทรัพยากรจำนวนมากเป็นกระบวนการสุดท้าย และคืนค่าแอปของคุณเพื่อยืนยันว่าแอปกลับไป สภาพเดิม

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

หากอุปกรณ์ ChromeOS ของคุณรองรับ ให้เปลี่ยนจากโหมดแล็ปท็อปเป็นแท็บเล็ตเพื่อตรวจสอบ ทุกอย่างทำงาน ตามที่คาดไว้ไหม หมุนอุปกรณ์ 1 ครั้งในโหมดแท็บเล็ตเพื่อ ทดสอบการเปลี่ยนการวางแนว จากนั้นเปลี่ยนกลับไปเป็นโหมดแล็ปท็อป ทำขั้นตอนนี้ซ้ำ 2-3 ครั้ง

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

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