Android 17 มาถึงรุ่นเบต้า 4 ซึ่งเป็นรุ่นเบต้าสุดท้ายที่กำหนดไว้ในรอบการเปิดตัวนี้แล้ว โดยเป็นเหตุการณ์สำคัญสำหรับความเข้ากันได้ของแอปและความเสถียรของแพลตฟอร์ม ไม่ว่าคุณจะปรับแต่งประสบการณ์ของผู้ใช้ของแอปให้ดียิ่งขึ้น ตรวจสอบการแสดงผลแบบขอบจรดขอบที่ราบรื่น หรือใช้ประโยชน์จาก API ใหม่ล่าสุด รุ่นเบต้า 4 ก็มีสภาพแวดล้อมที่เกือบจะสมบูรณ์แบบให้คุณทดสอบ
เตรียมแอป ไลบรารี เครื่องมือ และเอนจินเกมให้พร้อม
หากคุณพัฒนา SDK, ไลบรารี, เครื่องมือ หรือเอนจินเกมสำหรับ Android คุณต้องเตรียมการอัปเดตที่จำเป็นทั้งหมดไว้ตอนนี้เพื่อป้องกันไม่ให้นักพัฒนาแอปและเกมที่ใช้ผลิตภัณฑ์ของคุณอยู่ถูกบล็อกเนื่องจากปัญหาความเข้ากันได้ และอนุญาตให้นักพัฒนาเหล่านั้นกำหนดเป้าหมายเป็นฟีเจอร์ SDK ล่าสุดได้ โปรดแจ้งให้นักพัฒนาแอปที่ใช้ผลิตภัณฑ์ของคุณอยู่ทราบหากจำเป็นต้องมีการอัปเดตเพื่อให้รองรับ Android 17 ได้อย่างเต็มที่
การทดสอบเกี่ยวข้องกับการติดตั้งแอปเวอร์ชันที่ใช้งานจริงหรือแอปทดสอบที่ใช้ไลบรารีหรือเอนจินของคุณโดยใช้ Google Play หรือวิธีอื่นๆ ลงในอุปกรณ์หรือโปรแกรมจำลองที่ใช้ Android 17 รุ่นเบต้า 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 Cryptographic Architecture มาตรฐาน ได้แก่ 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 รุ่นเบต้านี้และรุ่นต่อๆ ไปแบบ Over-the-Air หากไม่มีอุปกรณ์ Pixel คุณสามารถ ใช้ระบบอิมเมจ 64 บิตกับโปรแกรมจำลองของ Android ใน Android Studio ได้
หากคุณเข้าร่วมโปรแกรม Android รุ่นเบต้าอยู่แล้ว ระบบจะเสนอการอัปเดตเป็นรุ่นเบต้า 4 แบบ Over-the-Air ให้คุณ
โปรด รายงานปัญหาและส่งคำขอฟีเจอร์ใน หน้าความคิดเห็นต่อไป ยิ่งเราได้รับความคิดเห็นของคุณเร็วเท่าใด เราก็จะยิ่งนำความคิดเห็นเหล่านั้นไปใช้ในการเปิดตัวเวอร์ชันสุดท้ายได้มากขึ้นเท่านั้น
เราขอแนะนำให้คุณใช้ Android Studio (Panda) เวอร์ชันล่าสุดสำหรับใช้ดูตัวอย่างเพื่อให้ได้รับประสบการณ์การพัฒนาที่ดีที่สุดกับ Android 17 เมื่อตั้งค่าเรียบร้อยแล้ว คุณควรทำสิ่งต่อไปนี้
- คอมไพล์กับ SDK ใหม่ ทดสอบในสภาพแวดล้อม CI และรายงานปัญหาในเครื่องมือติดตามของเราใน หน้าความคิดเห็น.
- ทดสอบความเข้ากันได้ของแอปปัจจุบัน ดูว่าแอปได้รับผลกระทบจากการเปลี่ยนแปลงใน Android 17 หรือไม่ และติดตั้งแอปในอุปกรณ์หรือโปรแกรมจำลองที่ใช้ Android 17 แล้วทดสอบอย่างละเอียด
เราจะอัปเดตระบบอิมเมจสำหรับใช้ดูตัวอย่าง/รุ่นเบต้าและ SDK เป็นประจำตลอดรอบการเปิดตัว Android 17 เมื่อติดตั้งบิลด์รุ่นเบต้าแล้ว คุณจะได้รับการอัปเดตในอนาคตแบบ Over-the-Air สำหรับรุ่นตัวอย่างและรุ่นเบต้าทั้งหมดในภายหลังโดยอัตโนมัติ
ดูข้อมูลทั้งหมดได้ที่ เว็บไซต์ของนักพัฒนาแอป Android 17
เข้าร่วมการสนทนา
ความคิดเห็นของคุณยังคงเป็นสิ่งที่มีค่าที่สุดสำหรับเรา ไม่ว่าคุณจะเป็น ผู้ใช้รุ่นแรกๆ ในช่อง Canary หรือ นักพัฒนาแอปที่ทดสอบในรุ่นเบต้า 4 โปรดเข้าร่วมชุมชนของเราและส่งความคิดเห็น เราพร้อมรับฟัง
อ่านต่อ
-
ข่าวสารเกี่ยวกับผลิตภัณฑ์
ที่ Google Play เรามุ่งมั่นที่จะมอบประสบการณ์การใช้งานที่ดีที่สุดเท่าที่จะเป็นไปได้แก่ผู้ใช้ พร้อมทั้งตรวจสอบว่านักพัฒนาแอปมีเครื่องมือและความสามารถในการปรับตัวเพื่อประสบความสำเร็จ
Paul Feng • ใช้เวลาอ่าน 3 นาที
-
ข่าวสารเกี่ยวกับผลิตภัณฑ์
เมื่อปีที่แล้ว เราได้เปิดตัวการยืนยันนักพัฒนาแอป Android เพื่อเสริมความปลอดภัยของระบบนิเวศและหยุดผู้ไม่ประสงค์ดีไม่ให้ซ่อนตัวอยู่เบื้องหลังการไม่เปิดเผยตัวตนเพื่อเผยแพร่แอปที่เป็นอันตราย
Matthew Forsythe • ใช้เวลาอ่าน 2 นาที
-
ข่าวสารเกี่ยวกับผลิตภัณฑ์
ระบบนิเวศของ Android XR กำลังขยายตัวอย่างรวดเร็ว ตั้งแต่การซ้อนทับแบบเสริมไปจนถึงสภาพแวดล้อมที่สมจริงอย่างเต็มรูปแบบ โดย Samsung Galaxy XR พร้อมจำหน่ายแล้ววันนี้
Stevan Silva, Vinny DaSilva • ใช้เวลาอ่าน 3 นาที
รับข่าวสาร
รับข้อมูลเชิงลึกด้านการพัฒนา Android ล่าสุดส่งตรงถึงกล่องจดหมายของคุณ ทุกสัปดาห์