Android 17 ได้เข้าสู่เบต้า 4 ซึ่งเป็นเบต้าที่กำหนดไว้สุดท้ายของรอบการเปิดตัวนี้ ซึ่งเป็นเป้าหมายสำคัญสำหรับความเข้ากันได้ของแอปและความเสถียรของแพลตฟอร์ม ไม่ว่าคุณจะปรับแต่งประสบการณ์ของผู้ใช้ในแอป ตรวจสอบการแสดงผลแบบขอบจรดขอบที่ราบรื่น หรือใช้ประโยชน์จาก API ล่าสุด เบต้า 4 ก็มีสภาพแวดล้อมที่เกือบจะสมบูรณ์แบบที่คุณต้องใช้ในการทดสอบ
เตรียมแอป ไลบรารี เครื่องมือ และเอนจินเกมให้พร้อม
หากคุณพัฒนา SDK, ไลบรารี, เครื่องมือ หรือเกมเอนจินสำหรับ Android การเตรียมการอัปเดตที่จำเป็นในตอนนี้เป็นสิ่งสำคัญอย่างยิ่ง เพื่อป้องกันไม่ให้นักพัฒนาแอปและเกมที่ใช้ SDK ของคุณถูกบล็อกเนื่องจากปัญหาความเข้ากันได้ และช่วยให้นักพัฒนาเหล่านั้นกำหนดเป้าหมายไปยังฟีเจอร์ล่าสุดของ SDK ได้ โปรดแจ้งให้นักพัฒนาแอปที่ใช้ API ของคุณทราบหากจำเป็นต้องอัปเดตเพื่อรองรับ Android 17 อย่างเต็มรูปแบบ
การทดสอบเกี่ยวข้องกับการติดตั้งแอปเวอร์ชันที่ใช้งานจริงหรือแอปทดสอบที่ใช้ไลบรารีหรือเอนจินของคุณโดยใช้ Google Play หรือวิธีการอื่นๆ ลงในอุปกรณ์หรือโปรแกรมจำลองที่ใช้ Android 17 Beta 4 ตรวจสอบโฟลว์ทั้งหมดของแอปและมองหาปัญหาด้านฟังก์ชันการทำงานหรือ UI Android แต่ละรุ่นมีการเปลี่ยนแปลงแพลตฟอร์มที่ช่วยปรับปรุงความเป็นส่วนตัว ความปลอดภัย และประสบการณ์ของผู้ใช้โดยรวม โปรดตรวจสอบการเปลี่ยนแปลงลักษณะการทำงานที่ส่งผลต่อแอปสำหรับแอปที่ทำงานบนและกำหนดเป้าหมาย Android 17 เพื่อมุ่งเน้นการทดสอบ ซึ่งรวมถึงสิ่งต่อไปนี้
- ความสามารถในการปรับขนาดบนหน้าจอขนาดใหญ่: เมื่อกำหนดเป้าหมายเป็น Android 17 แล้ว คุณจะเลือกไม่ใช้ข้อจำกัดด้านการวางแนว ความสามารถในการปรับขนาด และสัดส่วนการแสดงผลบนหน้าจอขนาดใหญ่ไม่ได้อีกต่อไป
- การโหลดโค้ดแบบไดนามิก: หากแอปกำหนดเป้าหมายเป็น Android 17 ขึ้นไป การป้องกันการโหลดโค้ดแบบไดนามิก (DCL) ที่ปลอดภัยยิ่งขึ้นซึ่งเปิดตัวใน Android 14 สำหรับไฟล์ DEX และ JAR จะครอบคลุมถึงไลบรารีแบบเนทีฟด้วย ไฟล์เนทีฟทั้งหมดที่โหลดโดยใช้ System.load() ต้องทำเครื่องหมายเป็นแบบอ่านอย่างเดียว ไม่เช่นนั้น ระบบจะแสดงข้อผิดพลาด UnsatisfiedLinkError
- เปิดใช้ CT โดยค่าเริ่มต้น: การตรวจสอบความโปร่งใสของใบรับรอง (CT) จะเปิดใช้โดยค่าเริ่มต้น (ใน Android 16 ฟีเจอร์ CT พร้อมใช้งาน แต่แอปต้อง เลือกใช้)
- การปกป้องเครือข่ายภายใน: แอปที่กำหนดเป้าหมายเป็น Android 17 ขึ้นไปจะถูกบล็อกการเข้าถึงเครือข่ายภายในโดยค่าเริ่มต้น เปลี่ยนไปใช้เครื่องมือเลือกที่รักษาความเป็นส่วนตัวหากเป็นไปได้ และใช้สิทธิ์ ACCESS_LOCAL_NETWORK ใหม่สำหรับการเข้าถึงแบบกว้างอย่างต่อเนื่อง
- การเพิ่มความปลอดภัยของเสียงในเบื้องหลัง: ตั้งแต่ Android 17 เป็นต้นไป เฟรมเวิร์กเสียงจะบังคับใช้ข้อจำกัดในการโต้ตอบเสียงในเบื้องหลัง ซึ่งรวมถึงการเล่นเสียง คำขอโฟกัสเสียง และ API การเปลี่ยนแปลงระดับเสียง เราได้ทำการเปลี่ยนแปลงบางอย่างตั้งแต่เวอร์ชันเบต้า 2 ตามความคิดเห็นของคุณ ซึ่งรวมถึงการจำกัด TargetSDK ขณะบังคับใช้ FGS ขณะใช้งานและยกเว้นเสียงปลุก ดูรายละเอียดทั้งหมดได้ในคำแนะนำที่อัปเดต
การจำกัดการใช้หน่วยความจำของแอป
Android จะเปิดตัวการจำกัดหน่วยความจำของแอปตาม RAM ทั้งหมดของอุปกรณ์เพื่อสร้างสภาพแวดล้อมที่เสถียรและกำหนดได้มากขึ้นสำหรับแอปพลิเคชันและผู้ใช้ Android ใน Android 17 มีการกำหนดขีดจำกัดอย่างรอบคอบเพื่อสร้างพื้นฐานของระบบ โดยมุ่งเป้าไปที่หน่วยความจำรั่วไหลอย่างรุนแรงและค่าผิดปกติอื่นๆ ก่อนที่จะทำให้ระบบไม่เสถียรในวงกว้าง ส่งผลให้ UI กระตุก แบตเตอรี่หมดเร็วขึ้น และแอปถูกปิด แม้ว่าเราคาดว่าเซสชันแอปส่วนใหญ่จะได้รับผลกระทบน้อยมาก แต่เราขอแนะนำให้ทำตามแนวทางปฏิบัติแนะนำด้านหน่วยความจำต่อไปนี้ ซึ่งรวมถึงการกำหนดค่าพื้นฐานสำหรับหน่วยความจำ
ในการใช้งานปัจจุบัน getDescription ใน ApplicationExitInfo จะมีสตริง "MemoryLimiter" หากแอปของคุณได้รับผลกระทบ นอกจากนี้ คุณยังใช้การสร้างโปรไฟล์ตามทริกเกอร์กับ TRIGGER_TYPE_ANOMALY เพื่อรับการดัมพ์ฮีปที่รวบรวมเมื่อถึงขีดจำกัดหน่วยความจำได้ด้วย
Android Studio Panda ได้เพิ่มการผสานรวม LeakCanary ลงใน Android Studio Profiler โดยตรงเป็นงานเฉพาะ ซึ่งปรับตามบริบทภายใน IDE และผสานรวมกับซอร์สโค้ดอย่างเต็มรูปแบบ เพื่อช่วยให้คุณค้นหาหน่วยความจำรั่วได้
การใช้หน่วยความจำที่ใช้ส่งผลโดยตรงต่อประสิทธิภาพที่ราบรื่นยิ่งขึ้น ระยะเวลาการใช้งานแบตเตอรี่ที่นานขึ้น และประสบการณ์การใช้งานระดับพรีเมียมในทุกรูปแบบของอุปกรณ์ มาร่วมกันสร้างอนาคตที่เร็วและเสถียรยิ่งขึ้นสำหรับระบบนิเวศของ Android กันเถอะ
ทริกเกอร์การสร้างโปรไฟล์สำหรับความผิดปกติของแอป
Android เปิดตัวบริการตรวจจับความผิดปกติในอุปกรณ์ที่จะตรวจสอบลักษณะการทำงานที่ใช้ทรัพยากรมากและอาจทำให้ความเข้ากันได้ลดลง บริการนี้ผสานรวมกับ ProfilingManager เพื่อให้แอปได้รับอาร์ติแฟกต์การสร้างโปรไฟล์ที่ทริกเกอร์โดยเหตุการณ์ที่ระบบตรวจพบ
ใช้ทริกเกอร์ TRIGGER_TYPE_ANOMALY เพื่อตรวจหาปัญหาด้านประสิทธิภาพของระบบ เช่น การเรียก Binder มากเกินไปและการใช้งานหน่วยความจำมากเกินไป เมื่อแอปละเมิดขีดจำกัดหน่วยความจำที่กำหนดโดยระบบปฏิบัติการ ทริกเกอร์ความผิดปกติจะช่วยให้นักพัฒนาแอปได้รับฮีปดัมป์เฉพาะแอปเพื่อช่วยระบุและแก้ไขปัญหาเกี่ยวกับหน่วยความจำ นอกจากนี้ สำหรับสแปม Binder ที่มากเกินไป ทริกเกอร์ความผิดปกติจะให้โปรไฟล์แบบสุ่มสแต็กในธุรกรรม Binder
การเรียกกลับของ API นี้จะเกิดขึ้นก่อนการบังคับใช้ที่ระบบกำหนด เช่น ช่วยให้นักพัฒนาแอปเก็บรวบรวมข้อมูลการแก้ไขข้อบกพร่องได้ก่อนที่ระบบจะปิดแอปเนื่องจากใช้หน่วยความจำเกินขีดจำกัด หากต้องการทำความเข้าใจวิธีใช้ทริกเกอร์ โปรดดูเอกสารประกอบเกี่ยวกับการสร้างโปรไฟล์ตามทริกเกอร์
val profilingManager = applicationContext.getSystemService(ProfilingManager::class.java) val triggers = ArrayList<ProfilingTrigger>() triggers.add(ProfilingTrigger.Builder( ProfilingTrigger.TRIGGER_TYPE_ANOMALY)) val mainExecutor: Executor = Executors.newSingleThreadExecutor() val resultCallback = Consumer<ProfilingResult> { profilingResult -> if (profilingResult.errorCode != ProfilingResult.ERROR_NONE) { // upload profile result to server for further analysis setupProfileUploadWorker(profilingResult.resultFilePath) } profilingManager.registerForAllProfilingResults(mainExecutor, resultCallback) profilingManager.addProfilingTriggers(triggers) }
วิทยาการเข้ารหัสเพื่อรักษาความปลอดภัยจากคอมพิวเตอร์ควอนตัม (PQC) ใน Android Keystore
Android Keystore เพิ่มการรองรับ ML-DSA (Module-Lattice-Based Digital Signature Algorithm) ที่ได้มาตรฐาน NIST ในอุปกรณ์ที่รองรับ คุณสามารถสร้างคีย์ ML-DSA และใช้คีย์ดังกล่าวเพื่อสร้างลายเซ็นที่ปลอดภัยสำหรับควอนตัมได้ทั้งหมดในฮาร์ดแวร์ที่ปลอดภัยของอุปกรณ์ Android Keystore จะแสดงตัวแปรของอัลกอริทึม ML-DSA-65 และ ML-DSA-87 ผ่าน API สถาปัตยกรรมการเข้ารหัสของ Java มาตรฐาน: KeyPairGenerator, KeyFactory และ Signature ดูรายละเอียดเพิ่มเติมได้ในเอกสารประกอบสำหรับนักพัฒนาซอฟต์แวร์
KeyPairGenerator generator = KeyPairGenerator.getInstance( “ML-DSA-65”, "AndroidKeyStore"); generator.initialize( new KeyGenParameterSpec.Builder( “my-key-alias”, KeyProperties.PURPOSE_SIGN | KeyProperties.PURPOSE_VERIFY) .build()); KeyPair keyPair = generator.generateKeyPair();
เริ่มต้นใช้งาน Android 17
คุณลงทะเบียนอุปกรณ์ Pixel ที่รองรับเพื่อรับการอัปเดต Android เบต้านี้และในอนาคตผ่านอากาศได้ หากไม่มีอุปกรณ์ Pixel คุณสามารถใช้อิมเมจระบบ 64 บิตกับโปรแกรมจำลองของ Android ใน Android Studio ได้
หากปัจจุบันคุณอยู่ในโปรแกรม Android เบต้า ระบบจะเสนอการอัปเดตผ่านอากาศเป็นเบต้า 4 ให้
โปรดรายงานปัญหาและส่งคำขอฟีเจอร์ต่อไปในหน้าความคิดเห็น ยิ่งเราได้รับความคิดเห็นของคุณเร็วเท่าไร เราก็จะยิ่งนำความคิดเห็นไปใช้ในการพัฒนาเวอร์ชันสุดท้ายได้มากขึ้นเท่านั้น
เราขอแนะนำให้คุณใช้ตัวอย่างล่าสุดของ Android Studio (Panda) เพื่อให้ได้รับประสบการณ์การพัฒนาแอป Android 17 ที่ดีที่สุด เมื่อตั้งค่าเรียบร้อยแล้ว สิ่งที่คุณควรทำมีดังนี้
- คอมไพล์กับ SDK ใหม่ ทดสอบในสภาพแวดล้อม CI และรายงานปัญหาในเครื่องมือติดตามของเราในหน้าความคิดเห็น
- ทดสอบแอปปัจจุบันเพื่อดูความเข้ากันได้ ดูว่าแอปได้รับผลกระทบจากการเปลี่ยนแปลงใน Android 17 หรือไม่ แล้วติดตั้งแอปในอุปกรณ์หรือโปรแกรมจำลองที่ใช้ Android 17 และทดสอบอย่างละเอียด
เราจะอัปเดตอิมเมจระบบรุ่นตัวอย่าง/เบต้าและ SDK เป็นประจำตลอดรอบการเผยแพร่ Android 17 เมื่อติดตั้งบิลด์เบต้าแล้ว คุณจะได้รับการอัปเดตในอนาคตผ่านอากาศโดยอัตโนมัติสำหรับรุ่นตัวอย่างและเบต้าในอนาคตทั้งหมด
ดูข้อมูลทั้งหมดได้ที่เว็บไซต์ของนักพัฒนาแอป Android 17
เข้าร่วมการสนทนา
ความคิดเห็นของคุณยังคงเป็นสิ่งที่มีค่าที่สุดสำหรับเรา ไม่ว่าคุณจะเป็นผู้ใช้เวอร์ชัน Canary ก่อนใคร หรือนักพัฒนาแอปที่ทดสอบใน Beta 4 โปรดเข้าร่วมชุมชนของเราและส่งความคิดเห็น เราพร้อมรับฟัง
-
ข่าวสารเกี่ยวกับผลิตภัณฑ์ใน Google Play เราขยายแพลตฟอร์มการสมัครใช้บริการอย่างต่อเนื่องเพื่อช่วยให้คุณขับเคลื่อนการเติบโต ปรับตัวให้เข้ากับโมเดลธุรกิจใหม่ๆ และเข้าถึงผู้ใช้ได้ตรงจุด
Sheenam Mittal • อ่าน 4 นาที -
ข่าวสารเกี่ยวกับผลิตภัณฑ์เมื่อปีที่แล้ว Android Studio ได้เปิดให้ใช้โมเดล AI ใดก็ได้ วันนี้เราจะก้าวไปอีกขั้นด้วยการเปิดตัวการรองรับเอเจนต์การเขียนโค้ดที่คุณเลือก
Matthew Warner • ใช้เวลาอ่าน 3 นาที -
ข่าวสารเกี่ยวกับผลิตภัณฑ์Googlebook เปิดตัวแล็ปท็อปหมวดหมู่ใหม่ที่สร้างขึ้นบนพื้นฐาน Android ที่ใช้ร่วมกัน ฮาร์ดแวร์ประสิทธิภาพสูงจากพาร์ทเนอร์ เช่น HP, Dell, Lenovo, Acer และ Asus ผสานความสะดวกในการใช้งานบนอุปกรณ์เคลื่อนที่เข้ากับประสิทธิภาพของเดสก์ท็อป
Fahd Imtiaz, Loryn Hairston • อ่าน 4 นาที
รับข้อมูลเชิงลึกด้านการพัฒนา Android ล่าสุดส่งตรงถึงกล่องจดหมายของคุณทุกสัปดาห์