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 โดยค่าเริ่มต้น: ความโปร่งใสของใบรับรอง (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) ใน Keystore ของ Android
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 เวอร์ชันเบต้านี้และการอัปเดตในอนาคตผ่านอากาศ (OTA) หากไม่มีอุปกรณ์ Pixel คุณสามารถใช้อิมเมจระบบ 64 บิตกับโปรแกรมจำลองของ Android ใน Android Studio ได้
หากคุณอยู่ในโปรแกรม Android เบต้า คุณจะได้รับการอัปเดตเป็นเวอร์ชันเบต้า 4 ผ่านอากาศ (OTA)
โปรดรายงานปัญหาและส่งคำขอฟีเจอร์ต่อไปในหน้าความคิดเห็น ยิ่งเราได้รับความคิดเห็นจากคุณเร็วเท่าไร เราก็ยิ่งนำไปใช้ในการทำงานกับเวอร์ชันสุดท้ายได้มากขึ้นเท่านั้น
เราขอแนะนำให้ใช้ Android Studio (Panda) เวอร์ชันตัวอย่างล่าสุดเพื่อให้ได้รับประสบการณ์การพัฒนาที่ดีที่สุดกับ Android 17 เมื่อตั้งค่าแล้ว สิ่งที่คุณควรทำมีดังนี้
- คอมไพล์กับ SDK ใหม่ ทดสอบในสภาพแวดล้อม CI และรายงานปัญหาในเครื่องมือติดตามในหน้าความคิดเห็น
- ทดสอบแอปปัจจุบันเพื่อดูความเข้ากันได้ ดูว่าแอปได้รับผลกระทบจากการเปลี่ยนแปลงใน Android 17 หรือไม่ และติดตั้งแอปลงในอุปกรณ์หรือโปรแกรมจำลองที่ใช้ Android 17 แล้วทดสอบอย่างละเอียด
เราจะอัปเดตอิมเมจระบบเวอร์ชันตัวอย่าง/เบต้าและ SDK เป็นประจำตลอดรอบการเผยแพร่ Android 17 เมื่อติดตั้งเวอร์ชันเบต้าแล้ว คุณจะได้รับการอัปเดตผ่านอากาศโดยอัตโนมัติในอนาคตสำหรับเวอร์ชันตัวอย่างและเวอร์ชันเบต้าทั้งหมดในภายหลัง
ดูข้อมูลทั้งหมดได้ที่เว็บไซต์ของนักพัฒนาแอป Android 17
เข้าร่วมการสนทนา
ความคิดเห็นของคุณยังคงเป็นสิ่งที่มีค่าที่สุดสำหรับเรา ไม่ว่าคุณจะเป็นลูกค้ารายแรกสุดที่เปิดรับนวัตกรรมในเวอร์ชัน Canary หรือนักพัฒนาแอปที่ทดสอบในเวอร์ชันเบต้า 4 โปรดพิจารณาเข้าร่วมชุมชนของเราและส่งความคิดเห็น เรายินดีรับฟังความคิดเห็นของคุณ
-
ข่าวสารเกี่ยวกับผลิตภัณฑ์เมื่อการพัฒนา Agent เร็วขึ้น วิศวกรรม Android กำลังก้าวเข้าสู่พรมแดนใหม่ที่น่าตื่นเต้น นั่นคือการเปลี่ยนจากการเติมโค้ดแบบช่วยเหลือไปเป็น Agent ที่ดำเนินการตั้งแต่ต้นจนจบภายใต้คำสั่งของคุณ คุณมีตัวเลือกและความยืดหยุ่นอย่างเต็มที่ในโมเดลและ Agent ที่ใช้
Jason Buchel • ใช้เวลาอ่าน 3 นาที -
ข่าวสารเกี่ยวกับผลิตภัณฑ์วันนี้เราได้แชร์วิธีที่เรากำลังนำวิสัยทัศน์ "เป็นมากกว่าร้านค้า" ไปสู่บทถัดไป Google Play ตอบสนองความต้องการของผู้ใช้ได้ทุกที่ทุกเวลา ตั้งแต่แท็บ "คุณ" ซึ่งปัจจุบันเป็นศูนย์กลางส่วนตัวสำหรับผู้ใช้ที่ใช้งานอยู่รายเดือนกว่า 250 ล้านคน ไปจนถึงแพลตฟอร์มเกมแบบรวมที่เชื่อมต่อโปรไฟล์เกมเมอร์กว่า 700 ล้านโปรไฟล์
Paul Feng • ใช้เวลาอ่าน 3 นาที -
ข่าวสารเกี่ยวกับผลิตภัณฑ์Googlebook ยินดีที่จะช่วยให้ผู้ใช้แสดงออกถึงตัวตนและเข้าถึงเครื่องมือเหล่านี้
Cyrus Stoller • ใช้เวลาอ่าน 2 นาที
รับข้อมูลเชิงลึกเกี่ยวกับการพัฒนา Android ล่าสุดที่ส่งไปยังกล่องจดหมายของคุณทุกสัปดาห์