ข่าวสารผลิตภัณฑ์

Android 17 เบต้าเวอร์ชันแรก

ใช้เวลาอ่าน 7 นาที
Matthew McCullough
รองประธานฝ่ายการจัดการผลิตภัณฑ์ของ Android Developer

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

หลังจากเวอร์ชันตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์

Android ได้แทนที่ "เวอร์ชันตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์" แบบเดิมด้วยแชแนล Canary แบบต่อเนื่อง โมเดล "เปิดตลอด" ใหม่นี้มีประโยชน์หลัก 3 ประการ ได้แก่

  • เข้าถึงได้เร็วขึ้น: ฟีเจอร์และ API จะพร้อมใช้งานใน Canary ทันทีที่ผ่านการทดสอบภายใน โดยไม่ต้องรอการเปิดตัวรายไตรมาส
  • เสถียรภาพที่ดีขึ้น: การ "ทดสอบภาคสนาม" ใน Canary ตั้งแต่เนิ่นๆ ส่งผลให้ประสบการณ์การใช้งานเบต้าได้รับการขัดเกลามากขึ้นด้วย API ใหม่และการเปลี่ยนแปลงลักษณะการทำงานที่ใกล้เคียงกับเวอร์ชันสุดท้ายมากขึ้น
  • การทดสอบที่ง่ายขึ้น: Canary รองรับการอัปเดต OTA (ไม่ต้องแฟลชด้วยตนเองอีกต่อไป) และในฐานะช่องทางการอัปเดตแยกต่างหาก จึงผสานรวมกับเวิร์กโฟลว์ CI ได้ง่ายขึ้น และช่วยให้คุณมีโอกาสแรกในการให้ความคิดเห็นทันทีเกี่ยวกับการเปลี่ยนแปลงที่อาจเกิดขึ้นในอนาคต

กำหนดการของ Android 17

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

ไทม์ไลน์1.png

ผลงานตลอดทั้งปี

เราวางแผนที่จะให้ Android 17 ได้รับการอัปเดตต่อไปในการเผยแพร่รายไตรมาส การเปิดตัวในไตรมาสที่ 2 ที่กำลังจะมาถึงเป็นการเปิดตัวเพียงครั้งเดียวที่เราจะแนะนำการเปลี่ยนแปลงลักษณะการทำงานที่ทำให้แอปหยุดทำงานตามแผน เราวางแผนที่จะเปิดตัว SDK เวอร์ชันย่อยในไตรมาสที่ 4 พร้อม API และฟีเจอร์เพิ่มเติม

timeline2.png

ข้อจำกัดด้านการวางแนวและการปรับขนาด

เมื่อเปิดตัว Android 17 เบต้า เราจะเข้าสู่ระยะถัดไปของแผนงานแบบปรับอัตโนมัติ นั่นคือ Android 17 (ระดับ API 37) จะนำการเลือกไม่ใช้ของนักพัฒนาแอปสำหรับข้อจำกัดด้านการวางแนวและความสามารถในการปรับขนาดในอุปกรณ์หน้าจอขนาดใหญ่ (sw > 600 dp) ออก

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

การเปลี่ยนแปลงที่สำคัญสำหรับ SDK 37

แอปที่กำหนดเป้าหมายเป็น Android 17 ต้องตรวจสอบว่าเข้ากันได้กับการเลิกใช้งานแอตทริบิวต์ของไฟล์ Manifest และ API รันไทม์ที่เปิดตัวใน Android 16 เมื่อเรียกใช้บนหน้าจอขนาดใหญ่ (มิติข้อมูลที่เล็กกว่า ≥ 600dp) ระบบจะไม่สนใจแอตทริบิวต์และ API ต่อไปนี้

แอตทริบิวต์/API ของไฟล์ Manifestค่าที่ระบบไม่สนใจ
screenOrientationportrait, reversePortrait, sensorPortrait, userPortrait, landscape, reverseLandscape, sensorLandscape, userLandscape
setRequestedOrientation()portrait, reversePortrait, sensorPortrait, userPortrait, landscape, reverseLandscape, sensorLandscape, userLandscape
resizeableActivityทั้งหมด
minAspectRatioทั้งหมด
maxAspectRatioทั้งหมด

ข้อยกเว้นและการควบคุมของผู้ใช้

การเปลี่ยนแปลงเหล่านี้มีไว้สำหรับหน้าจอขนาดใหญ่โดยเฉพาะ และไม่มีผลกับหน้าจอที่มีขนาดเล็กกว่า sw600dp (รวมถึงโทรศัพท์รูปแบบของอุปกรณ์แบบสเลททั่วไป) นอกจากนี้ แอปที่จัดหมวดหมู่เป็นเกม (อิงตามแฟล็ก android:appCategory) จะได้รับการยกเว้นจากข้อจำกัดเหล่านี้

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

การอัปเดตเกี่ยวกับการเปลี่ยนแปลงการกำหนดค่า

เรากำลังอัปเดตลักษณะการทำงานเริ่มต้นสำหรับการสร้างกิจกรรมใหม่เพื่อปรับปรุงความเข้ากันได้ของแอปและช่วยลดการเล่นวิดีโอที่หยุดชะงัก อินพุตที่ขาดหายไป และการสูญเสียสถานะที่รบกวนประเภทอื่นๆ ตั้งแต่ Android 17 เป็นต้นไป ระบบจะไม่รีสตาร์ทกิจกรรมโดยค่าเริ่มต้นสำหรับการเปลี่ยนแปลงการกำหนดค่าบางอย่างซึ่งโดยปกติแล้วไม่จำเป็นต้องสร้าง UI ใหม่ ซึ่งรวมถึง CONFIG_KEYBOARD, CONFIG_KEYBOARD_HIDDEN, CONFIG_NAVIGATION, CONFIG_UI_MODE (เมื่อมีการเปลี่ยนแปลงเฉพาะ UI_MODE_TYPE_DESK), CONFIG_TOUCHSCREEN และ CONFIG_COLOR_MODE แต่กิจกรรมที่กำลังทำงานจะได้รับการอัปเดตเหล่านี้ผ่าน onConfigurationChanged หากแอปพลิเคชันของคุณต้องใช้การรีสตาร์ทแบบเต็มเพื่อโหลดทรัพยากรสำหรับการเปลี่ยนแปลงเหล่านี้ คุณต้องเลือกใช้โดยชัดแจ้งโดยใช้แอตทริบิวต์ไฟล์ Manifest ใหม่ android:recreateOnConfigChanges ซึ่งจะช่วยให้คุณระบุได้ว่าการเปลี่ยนแปลงการกำหนดค่าใดที่ควรทริกเกอร์วงจรกิจกรรมที่สมบูรณ์ (ตั้งแต่หยุด ไปจนถึงทำลายและสร้างอีกครั้ง) พร้อมกับค่าคงที่ที่เกี่ยวข้อง mcc, mnc และค่าคงที่ใหม่ keyboard, keyboardHidden, navigation, touchscreen และ colorMode

เตรียมแอป

เราได้เปิดตัวเครื่องมือและเอกสารประกอบเพื่อให้คุณใช้งานได้ง่าย บล็อกโพสต์เฉพาะของเรามีคำแนะนำเพิ่มเติมพร้อมกลยุทธ์ในการแก้ไขปัญหาที่พบบ่อย แอปจะต้องรองรับเลย์เอาต์แนวนอนและแนวตั้งสำหรับขนาดหน้าต่างในสัดส่วนภาพทุกช่วง เนื่องจากระบบจะไม่รองรับการจำกัดการวางแนวหรือสัดส่วนภาพอีกต่อไป เราขอแนะนำให้ทดสอบแอปโดยใช้ Android 17 เบต้า 1 กับโปรแกรมจำลอง Pixel Tablet หรือ Pixel Fold (กำหนดค่าเป็น targetSdkPreview = "CinnamonBun") หรือใช้เฟรมเวิร์กความเข้ากันได้ของแอปเพื่อเปิดใช้ UNIVERSAL_RESIZABLE_BY_DEFAULT ในอุปกรณ์ Android 16

ประสิทธิภาพ

MessageQueue แบบไม่มีการล็อก

ใน Android 17 แอปที่กำหนดเป้าหมายเป็น SDK 37 ขึ้นไปจะได้รับการติดตั้งใช้งานใหม่ของ android.os.MessageQueue ซึ่งการติดตั้งใช้งานจะไม่มีการล็อก การติดตั้งใช้งานใหม่นี้ช่วยปรับปรุงประสิทธิภาพและลดเฟรมที่ขาดหายไป แต่อาจทำให้ไคลเอ็นต์ที่ใช้ฟิลด์และเมธอดส่วนตัวของ MessageQueue ใช้งานไม่ได้

ระบบจัดการหน่วยความจำที่ไม่ใช้แล้วแบบรุ่น

Android 17 เปิดตัวระบบจัดการหน่วยความจำที่ไม่ใช้แล้วแบบ世代ในตัวรวบรวม Concurrent Mark-Compact ของ ART การเพิ่มประสิทธิภาพนี้จะทำให้การรวบรวมข้อมูลรุ่นใหม่เกิดขึ้นบ่อยขึ้นและใช้ทรัพยากรน้อยลงควบคู่ไปกับการรวบรวมข้อมูลทั้งฮีป โดยมีเป้าหมายเพื่อลดต้นทุน CPU และระยะเวลาของระบบจัดการหน่วยความจำที่ไม่ใช้แล้วโดยรวม นอกจากนี้ การปรับปรุง ART ยังพร้อมให้บริการในอุปกรณ์กว่าพันล้านเครื่องที่ใช้ Android 12 (ระดับ API 31) ขึ้นไปผ่านการอัปเดตระบบ Google Play

ฟิลด์สุดท้ายแบบคงที่กลายเป็นฟิลด์สุดท้ายอย่างแท้จริงแล้ว

ตั้งแต่ Android 17 เป็นต้นไป แอปที่กำหนดเป้าหมายเป็น Android 17 ขึ้นไปจะแก้ไขฟิลด์ "static final" ไม่ได้ ซึ่งจะช่วยให้รันไทม์ใช้การเพิ่มประสิทธิภาพได้อย่างมีประสิทธิภาพมากขึ้น การพยายามทำเช่นนั้นผ่านการสะท้อน (และการสะท้อนอย่างลึกซึ้ง) จะทำให้เกิดการขว้าง IllegalAccessException เสมอ การแก้ไขผ่านตระกูลเมธอด SetStatic<Type>Field ของ JNI จะทําให้แอปพลิเคชันขัดข้องทันที

ข้อจำกัดของมุมมองการแจ้งเตือนที่กำหนดเอง

เราจะจำกัดขนาดของมุมมองการแจ้งเตือนที่กำหนดเองเพื่อลดการใช้งานหน่วยความจำ การอัปเดตนี้จะปิดช่องโหว่ที่อนุญาตให้แอปหลีกเลี่ยงขีดจำกัดที่มีอยู่โดยใช้ URI ลักษณะการทำงานนี้จะขึ้นอยู่กับเวอร์ชัน SDK เป้าหมาย และจะมีผลกับแอปที่กำหนดเป้าหมายเป็น API 37 ขึ้นไป

ทริกเกอร์ ProfilingManager สำหรับการแก้ไขข้อบกพร่องด้านประสิทธิภาพใหม่

เราได้เปิดตัวทริกเกอร์ระบบใหม่หลายรายการใน ProfilingManager เพื่อช่วยให้คุณรวบรวมข้อมูลเชิงลึกเพื่อแก้ไขข้อบกพร่องด้านประสิทธิภาพได้ ทริกเกอร์เหล่านี้คือ TRIGGER_TYPE_COLD_STARTTRIGGER_TYPE_OOMและ TRIGGER_TYPE_KILL_EXCESSIVE_CPU_USAGE

หากต้องการดูวิธีตั้งค่าทริกเกอร์ระบบใหม่ โปรดดูเอกสารประกอบเกี่ยวกับการจัดทำโปรไฟล์ตามทริกเกอร์และการเรียกข้อมูลและการวิเคราะห์ข้อมูลการจัดทำโปรไฟล์

สื่อและกล้อง

Android 17 นำเครื่องมือระดับมืออาชีพมาสู่แอปสื่อและกล้อง พร้อมฟีเจอร์ต่างๆ เช่น การเปลี่ยนฉากที่ราบรื่นและความดังที่ได้มาตรฐาน

การอัปเดตเซสชันกล้องแบบไดนามิก

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

fun updateCameraSession(session: CameraCaptureSession, newOutputConfigs:  List<OutputConfiguration>)) {
    // Dynamically update the session without closing and reopening
    try {
        
        // Update the output configurations
        session.updateOutputConfigurations(newOutputConfigs)
    } catch (e: CameraAccessException) {
        // Handle error
    }
}

ข้อมูลเมตาของอุปกรณ์กล้องหลายตัวแบบตรรกะ

เมื่อใช้กล้องตรรกะที่รวมเซ็นเซอร์กล้องจริงหลายตัว ตอนนี้คุณสามารถขอข้อมูลเมตาเพิ่มเติมจากกล้องจริงที่ใช้งานอยู่ทั้งหมดซึ่งเกี่ยวข้องกับการจับภาพได้แล้ว ไม่ใช่แค่กล้องหลัก ก่อนหน้านี้คุณต้องใช้โซลูชันชั่วคราว ซึ่งบางครั้งก็ต้องจัดสรรสตรีมจริงที่ไม่จำเป็น เพื่อรับข้อมูลเมตาจากกล้องรองที่ใช้งานอยู่ (เช่น ระหว่างการเปลี่ยนเลนส์เพื่อซูมเมื่อกล้องติดตามใช้งานอยู่) ฟีเจอร์นี้จะเปิดตัวคีย์ใหม่ LOGICAL_MULTI_CAMERA_ADDITIONAL_RESULTS ใน CaptureRequest และ CaptureResult การตั้งค่าคีย์นี้เป็นเปิดใน CaptureRequest จะทำให้ TotalCaptureResult มีข้อมูลเมตาจากกล้องจริงที่ใช้งานเพิ่มเติมเหล่านี้ คุณเข้าถึงข้อมูลเมตาที่ครอบคลุมนี้ได้โดยใช้ TotalCaptureResult.getPhysicalCameraTotalResults() เพื่อดูข้อมูลโดยละเอียดเพิ่มเติมซึ่งอาจช่วยให้คุณเพิ่มประสิทธิภาพการใช้ทรัพยากรในแอปพลิเคชันกล้องได้

รองรับการเข้ารหัสวิดีโออเนกประสงค์ (VVC)

Android 17 เพิ่มการรองรับมาตรฐาน Versatile Video Coding (VVC) ซึ่งรวมถึงการกำหนดประเภท MIME ของ video/vvc ใน MediaFormat การเพิ่มโปรไฟล์ VVC ใหม่ใน MediaCodecInfo และการผสานรวมการรองรับใน MediaExtractor ฟีเจอร์นี้จะพร้อมใช้งานในอุปกรณ์ที่รองรับการถอดรหัสฮาร์ดแวร์และมีไดรเวอร์ที่ใช้งานได้

คุณภาพคงที่สำหรับการบันทึกวิดีโอ

เราได้เพิ่ม setVideoEncodingQuality() ลงใน MediaRecorder แล้ว ซึ่งจะช่วยให้คุณกำหนดค่าโหมดคุณภาพคงที่ (CQ) สำหรับตัวเข้ารหัสวิดีโอได้ ทำให้คุณควบคุมคุณภาพวิดีโอได้ละเอียดยิ่งขึ้นนอกเหนือจากการตั้งค่าอัตราบิตอย่างง่าย

การปิดช่องโหว่เสียงในพื้นหลัง

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

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

ความเป็นส่วนตัวและความปลอดภัย

การเลิกใช้งานแอตทริบิวต์การรับส่งข้อมูลแบบข้อความธรรมดา

ตอนนี้เราเลิกใช้งานแอตทริบิวต์ android:usesCleartextTraffic แล้ว หากแอปกำหนดเป้าหมายเป็น (Android 17) ขึ้นไปและใช้ usesCleartextTraffic="true" โดยไม่มีการกำหนดค่าความปลอดภัยของเครือข่ายที่เกี่ยวข้อง ระบบจะตั้งค่าเริ่มต้นเป็นไม่อนุญาตการเข้าชมแบบข้อความธรรมดา (Cleartext) เราขอแนะนำให้คุณย้ายข้อมูลไปยังไฟล์การกำหนดค่าความปลอดภัยของเครือข่ายเพื่อการควบคุมแบบละเอียด

วิทยาการเข้ารหัสแบบผสม HPKE

เราขอแนะนำอินเทอร์เฟซผู้ให้บริการ (SPI) แบบสาธารณะสำหรับการติดตั้งใช้งานวิทยาการเข้ารหัสแบบไฮบริด HPKE ซึ่งช่วยให้สื่อสารได้อย่างปลอดภัยโดยใช้การผสมผสานระหว่างคีย์สาธารณะและการเข้ารหัสแบบสมมาตร (AEAD)

การเชื่อมต่อและโทรคมนาคม

ประวัติการโทรผ่าน VoIP ที่ได้รับการปรับปรุง

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

การวัดระยะทางและตรวจหาความใกล้เคียงผ่าน Wi-Fi

การวัดระยะด้วย Wi-Fi ได้รับการปรับปรุงด้วยความสามารถในการตรวจหาความใกล้เคียงแบบใหม่ ซึ่งรองรับการวัดระยะอย่างต่อเนื่องและการค้นพบแบบเพียร์ทูเพียร์ที่ปลอดภัย การอัปเดตช่วงของ Wi-Fi Aware มี API ใหม่สำหรับแฮนเดิลของเพียร์และการแคช PMKID สำหรับการวัดระยะที่ปลอดภัย 11az

ประสิทธิภาพการทำงานและเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์

การอัปเดตแอปในอุปกรณ์ที่ใช้ร่วมกัน

เราได้เปิดตัวโปรไฟล์ใหม่ 2 รายการใน CompanionDeviceManager เพื่อปรับปรุงการแยกความแตกต่างของอุปกรณ์และการจัดการสิทธิ์

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

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

เริ่มต้นใช้งาน Android 17

คุณลงทะเบียนอุปกรณ์ Pixel ที่รองรับเพื่อรับการอัปเดต Android รุ่นเบต้าในอนาคตและรุ่นนี้ผ่านอากาศได้ หากไม่มีอุปกรณ์ Pixel คุณสามารถใช้อิมเมจระบบ 64 บิตกับโปรแกรมจำลองของ Android ใน Android Studio ได้

หากปัจจุบันคุณอยู่ในโปรแกรม Android รุ่นเบต้า ระบบจะเสนอการอัปเดตผ่านอากาศเป็นรุ่นเบต้า 1

หากคุณใช้ Android 26Q1 เบต้าและต้องการใช้รุ่น 26Q1 ที่เสถียรสุดท้ายและออกจากเบต้า คุณต้องไม่สนใจการอัปเดตผ่านอากาศเป็น 26Q2 เบต้า 1 และรอการเปิดตัว 26Q1

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

เราขอแนะนำให้ใช้ตัวอย่างล่าสุดของ Android Studio (Panda) เพื่อให้ได้รับประสบการณ์การพัฒนาแอป Android 17 ที่ดีที่สุด เมื่อตั้งค่าแล้ว สิ่งที่คุณควรทำมีดังนี้

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

เราจะอัปเดตอิมเมจระบบรุ่นตัวอย่าง/เบต้าและ SDK เป็นประจำตลอดรอบการเผยแพร่ Android 17 เมื่อติดตั้งบิลด์เบต้าแล้ว คุณจะได้รับการอัปเดตในอนาคตแบบผ่านอากาศสำหรับรุ่นตัวอย่างและรุ่นเบต้าในอนาคตทั้งหมดโดยอัตโนมัติ

ดูข้อมูลทั้งหมดได้ที่เว็บไซต์นักพัฒนาแอป Android 17

เข้าร่วมการสนทนา

ขณะที่เรากำลังมุ่งสู่ความเสถียรของแพลตฟอร์มและการเปิดตัว Android 17 เวอร์ชันเสถียรขั้นสุดท้ายภายในปีนี้ ความคิดเห็นของคุณยังคงเป็นสิ่งที่มีค่าที่สุดสำหรับเรา ไม่ว่าคุณจะเป็นผู้ใช้รุ่นแรกในช่อง Canary หรือนักพัฒนาแอปที่ทดสอบใน Beta 1 โปรดพิจารณาเข้าร่วมชุมชนของเราและส่งความคิดเห็น เราพร้อมรับฟัง

เขียนโดย

อ่านต่อ