Android 17 มาถึงรุ่นเบต้า 4 ซึ่งเป็นรุ่นเบต้าสุดท้ายที่กำหนดไว้ในรอบการเปิดตัวนี้แล้ว โดยเป็นเหตุการณ์สำคัญสำหรับความเข้ากันได้ของแอปและความเสถียรของแพลตฟอร์ม ไม่ว่าคุณจะปรับแต่งประสบการณ์ของผู้ใช้ของแอปให้ดียิ่งขึ้น ตรวจสอบการแสดงผลแบบขอบจรดขอบที่ราบรื่น หรือใช้ประโยชน์จาก API ใหม่ล่าสุด รุ่นเบต้า 4 ก็มีสภาพแวดล้อมที่เกือบจะสมบูรณ์แบบให้คุณทดสอบ
เตรียมแอป ไลบรารี เครื่องมือ และเอนจินเกมให้พร้อม
หากคุณพัฒนา Android SDK, ไลบรารี, เครื่องมือ หรือเอนจินเกม การเตรียมการอัปเดตที่จำเป็นในตอนนี้เป็นสิ่งสำคัญเพื่อป้องกันไม่ให้นักพัฒนาแอปและเกมที่ใช้ผลิตภัณฑ์ของคุณถูกบล็อกเนื่องจากปัญหาความเข้ากันได้ และช่วยให้นักพัฒนาเหล่านั้นกำหนดเป้าหมายเป็นฟีเจอร์ 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 โดยค่าเริ่มต้น: Certificate Transparency (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 โดยตรงเป็นงานเฉพาะ ซึ่งจัดบริบทไว้ใน 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 • ใช้เวลาอ่าน 2 นาที -
ข่าวผลิตภัณฑ์วันนี้เราขอฉลองครบรอบ 5 ปีนับตั้งแต่เปิดตัว Jetpack Compose 1.0 อย่างเป็นทางการ ตั้งแต่เวอร์ชัน 1.0 ที่ประกาศเมื่อวันที่ 28 กรกฎาคม 2021 ไปจนถึงเวอร์ชัน 1.11 ล่าสุด เราได้เห็น API พัฒนาไปอย่างมากในช่วงหลายปีที่ผ่านมา และขอใช้โอกาสนี้ฉลองความสำเร็จ
Rebecca Franks, Nick Butcher, Loryn Hairston • ใช้เวลาอ่าน 5 นาที -
ข่าวผลิตภัณฑ์Android Studio Quail 2 เสถียรแล้วและพร้อมให้คุณใช้ในเวอร์ชันที่ใช้งานจริง ซึ่งจะเปลี่ยน IDE ของคุณให้เป็นเวิร์กโฟลว์แบบ Agent ที่ทำงานพร้อมกัน การสร้างโปรไฟล์หน่วยความจำรั่วไหลที่ผสานรวมอย่างเป็นธรรมชาติ และการแก้ไขข้อขัดข้องที่คำนึงถึงบริบท
Amman Asfaw • ใช้เวลาอ่าน 3 นาที
รับข้อมูลเชิงลึกด้านการพัฒนา Android ล่าสุดส่งตรงถึงกล่องจดหมายของคุณ ทุกสัปดาห์