บันทึกประจำรุ่นของ Android Studio สำหรับแพลตฟอร์ม

Android Studio for Platform (ASfP) เป็น IDE อย่างเป็นทางการสำหรับการพัฒนาแพลตฟอร์ม Android หน้านี้สรุปฟีเจอร์ล่าสุด การปรับปรุงเฉพาะแพลตฟอร์ม และการปรับปรุงคุณภาพที่มีใน ASfP

การเปิดตัวฟีเจอร์แพลตฟอร์มปี 2026 (Rabbit | 2026.2 และ Panda 2 | 2025.3.2)

ASfP เวอร์ชันล่าสุดสร้างขึ้นบนแพลตฟอร์มฐาน IntelliJ 2026.2 โดยมีการปรับปรุงที่สำคัญในการตั้งค่าโปรเจ็กต์และความน่าเชื่อถือในการเริ่มต้นใช้งาน การผสานรวมการบิลด์ Soong, ความสามารถของ AI Agent, การจัดการอุปกรณ์เสมือน Cuttlefish, การแก้ไขข้อบกพร่องของ C, C++, Rust และแบบไฮบริด รวมถึงการทดสอบแพลตฟอร์ม

การตั้งค่าโปรเจ็กต์ เทมเพลต และประสิทธิภาพการซิงค์

  • สถาปัตยกรรมโปรเจ็กต์โมเดลพื้นที่ทำงาน: เราได้ย้ายการสร้างโปรเจ็กต์ไปยัง API ของโมเดลพื้นที่ทำงาน IntelliJ ซึ่งช่วยปรับปรุงการตั้งค่าโปรเจ็กต์เริ่มต้นและเสถียรภาพของ IDE ในโครงสร้างแหล่งที่มา AOSP ขนาดใหญ่
  • การเริ่มต้นใช้งานทันทีด้วยสแนปช็อตโมเดลโปรเจ็กต์: ตอนนี้ ASfP จะแคชและ กู้คืนโมเดลโปรเจ็กต์จากสแนปช็อตเมื่อเริ่มต้นใช้งาน ซึ่งช่วยลดความล่าช้าในการจัดทำดัชนีเริ่มต้นที่ซ้ำซ้อน เมื่อเปิดพื้นที่ทำงาน AOSP ขนาดใหญ่อีกครั้ง
  • เทมเพลตโปรเจ็กต์ที่ใช้ร่วมกันได้ (นำเข้าและส่งออก):
    • นำเข้าจากเทมเพลต: บูตสแตรปโปรเจ็กต์ AOSP ใหม่ในวิซาร์ดการตั้งค่าโดยเลือก นำเข้าจากเทมเพลต แล้วชี้ไปยังไฟล์ YAML ที่แชร์.asfp-project
    • ส่งออกไปยังเทมเพลต: แชร์การกำหนดค่าโปรเจ็กต์กับเพื่อนร่วมทีม โดยคลิกขวาที่แท็บเอดิเตอร์ .asfp-project (หรือจากเมนู ASfP > โปรเจ็กต์) แล้วเลือก ส่งออกไปยังเทมเพลต
  • ตัวเลือกวิซาร์ดการตั้งค่าที่ได้รับการปรับปรุง: กำหนดค่าการบิลด์ที่กำหนดเอง ตัวแปร สภาพแวดล้อม และเปิดใช้ Soong Partial Compile (SOONG_PARTIAL_COMPILE) โดยตรงระหว่างการสร้างโปรเจ็กต์
  • โหมดการซิงค์ที่ยืดหยุ่น:
    • การซิงค์บางส่วน: ซิงค์โมดูลหรือไดเรกทอรีที่เฉพาะเจาะจงโดยไม่ต้องเรียกใช้ การซิงค์ที่เก็บข้อมูลทั้งหมด
    • การซิงค์แบบไม่มีการบิลด์: รีเฟรชโครงสร้างโปรเจ็กต์ IDE และรูทของโมดูล อย่างรวดเร็วโดยไม่ทริกเกอร์การบิลด์ Soong
    • การซิงค์และการบิลด์แบบเต็ม: ทริกเกอร์การซิงค์โปรเจ็กต์และการบิลด์ Soong แบบเต็มพร้อมกันในครั้งเดียว
  • ขอบเขตการค้นหาที่เพิ่มประสิทธิภาพและการรองรับ Symlink: ระบบจะยกเว้นเนื้อหาภายในout/ ไดเรกทอรีและ IML ที่สร้างขึ้นgenจากขอบเขตการค้นหาโปรเจ็กต์โดยอัตโนมัติเพื่อให้การค้นหาไฟล์และสัญลักษณ์รวดเร็วและไม่มีสัญญาณรบกวน นอกจากนี้ ASfP ยังรองรับรูทของแหล่งที่มาที่ลิงก์สัญลักษณ์ในที่เก็บข้อมูล AOSP

การบิลด์ Android.bp การติดตั้งใช้งาน และฟีเจอร์อัจฉริยะของเอดิเตอร์ในเอดิเตอร์

  • ไอคอน Gutter สำหรับการบิลด์ เรียกใช้ และแก้ไขข้อบกพร่องใน Android.bp: ทุกโมดูลที่มีชื่อ ใน Android.bp จะมีไอคอน Gutter Build ข้าง name: ขณะที่โมดูลทดสอบ (*_test และ *_test_host) และโมดูล android_app จะมี ไอคอน Gutter Run เพื่อเรียกใช้หรือแก้ไขข้อบกพร่องของเป้าหมายโดยตรงจากเอดิเตอร์
  • การกำหนดค่าการเรียกใช้การติดตั้งใช้งานและการแฟลชตามบริบท: สร้างและเปิดใช้ Soong Deploy การกำหนดค่าการเรียกใช้จากเป้าหมายที่ติดตั้งใช้งานได้ในAndroid.bp ไฟล์ ซึ่งรองรับการติดตั้งใช้งานผ่านadb สคริปต์เชลล์ที่กำหนดเองadevice หรือflashall พร้อมฮุกการบิลด์ Soong ก่อนการเรียกใช้
  • เปิดไฟล์ Android.bp ที่เกี่ยวข้องและฟีเจอร์อัจฉริยะของเอดิเตอร์: คลิกขวา ที่ไฟล์หรือไดเรกทอรีแหล่งที่มา แล้วเลือก เปิดไฟล์ Android.bp ที่เกี่ยวข้อง เพื่อข้ามไปยังการประกาศโมดูล (การแก้ปัญหาdefaultsเชน, Globs และ Symlink) ใน Android.bp ให้ Ctrl+คลิก การอ้างอิงโมดูลหรือ srcs ดูคำแนะนำแบบฝัง N Usages ที่คลิกได้ และวางตัวชี้เหนือพร็อพเพอร์ตี้ (รวมถึงพร็อพเพอร์ตี้ target.*, arch.* และ multilib.* ที่กำหนดขอบเขต) เพื่อดูเอกสารประกอบ Soong แบบอินไลน์
  • หน้าต่างเครื่องมือ Soong เฉพาะ: ตรวจสอบการซิงค์ Soong และความคืบหน้าในการบิลด์ด้วย ตัวบ่งชี้สถานะงาน ทริกเกอร์การดำเนินการบิลด์ และเรียกใช้คำสั่ง Soong จาก หน้าต่างเครื่องมือ Soong

การจัดการอุปกรณ์เสมือน Cuttlefish และการมิเรอร์แบบหลายหน้าจอ

  • การตั้งค่าอุปกรณ์หลายเครื่องในโปรแกรมจัดการอุปกรณ์: สร้างและจัดการการตั้งค่าอุปกรณ์เสมือนจริง Cuttlefish หลายเครื่อง ได้โดยตรงใน โปรแกรมจัดการอุปกรณ์ โดยใช้การชำระเงิน AOSP ในเครื่อง
  • การมิเรอร์จอแสดงผลแบบหลายหน้าจอในหน้าต่างเครื่องมือ Cuttlefish: ใช้ การมิเรอร์จอแสดงผลแบบหลายหน้าจอ Cuttlefish ในตัวในหน้าต่างเครื่องมือ Cuttlefish เฉพาะ ซึ่งสร้างขึ้นสำหรับการพัฒนา Android Automotive OS (AAOS) และ ยานพาหนะที่กำหนดโดยซอฟต์แวร์ (SDV) แบบหลายจอแสดงผล

AI ใน Android Studio และ Agent ในตัวสำหรับการพัฒนาแพลตฟอร์ม

  • Agent ในตัวพร้อมเครื่องมือการบิลด์และการทดสอบ Soong: AI ใน Android Studio ผสานรวมเครื่องมือการบิลด์ Soong เฉพาะแพตฟอร์มและเครื่องมือการดำเนินการ atest เข้ากับ Agent ในตัว ซึ่งช่วยให้ Agent วางแผนการแก้ไขหลายขั้นตอน คอมไพล์ เป้าหมาย Soong และเรียกใช้การทดสอบแพตฟอร์ม atest พร้อมผลลัพธ์ที่มีโครงสร้าง แบบอินไลน์ได้
  • การรองรับระดับองค์กรและ BYOM: เข้าถึง AI ใน Android Studio โดยใช้ โมเดล Gemini ในตัว, Gemini Code Assist, ใบอนุญาต Gemini Enterprise หรือ เชื่อมต่อปลายทางโมเดลที่กำหนดเองโดยใช้ Bring Your Own Model (BYOM) พร้อม คีย์ API ของคุณเอง

การแก้ไขข้อบกพร่องของแพลตฟอร์ม (แท็บแนบในหน้าต่างเครื่องมือแก้ไขข้อบกพร่องและ LLDB)

  • แท็บแนบที่ปักหมุดไว้ (เรียกใช้ > แนบกับกระบวนการ Android):
    • คลังที่ใช้ร่วมกันที่โหลดแล้ว (ไลบรารี) รหัสบิลด์ และสัญลักษณ์: ตรวจสอบ คลังที่ใช้ร่วมกัน .so ที่โหลดแล้วและ **รหัสบิลด์** ELF 8 อักขระก่อน แนบ ASfP จะจับคู่รหัสบิลด์แต่ละรายการกับ out/target/product/<device>/symbols (ดัชนี symbols/.build-id) โดยแสดงไอคอนเครื่องหมายถูกเมื่อยืนยันแล้ว (วางตัวชี้เหนือ แถวที่ยืนยันแล้วเพื่อดูเส้นทาง .debug ที่แก้ไขแล้ว) หรือไอคอนคำเตือนหาก ไม่มีสัญลักษณ์
    • การแนบ Java, C++ และ Rust: เลือก Java Debugger, Native Debugger หรือทั้ง 2 อย่างเพื่อเปิดแท็บการแก้ไขข้อบกพร่อง <process> (<pid>) และ <process> (<pid>)-jdwp ที่ลิงก์ไว้ การเลือกบริการ C++ หรือ Rust จะซ่อน Java Debugger และแสดงข้อความ Java Debugging Unavailable, Not a Java Process
    • อุปกรณ์ที่รูทและการเปิดใช้ JDWP ในคลิกเดียว: กรองด้วย แสดงกระบวนการของระบบ คลิก Root Device เพื่อเรียกใช้ adb root (Device is rooted) หรือคลิก Enable JDWP เพื่อตั้งค่า persist.debug.dalvik.vm.jdwp.enabled=1 และรีบูตอุปกรณ์ userdebug
  • การปรับปรุง LLDB Debugger, Visualizer ของ Rust และการส่งผ่านสัญญาณ ART pass-through:
    • เซสชัน lldb-dap ในตัวรองรับเบรกพอยต์แบบมีเงื่อนไข เบรกพอยต์ข้อยกเว้น C++ และ Rust ค่าตัวแปรแบบอินไลน์ในเอดิเตอร์ Drop Frame, Step Into อัจฉริยะ และ Pretty-Printer ของ Rust อัตโนมัติ (String, Vec, HashMap, Option) จาก AOSP Prebuilt
    • การแนบ LLDB กับกระบวนการ ART และ JNI จะส่งผ่านสัญญาณการตรวจสอบค่า Null หรือ GC SIGSEGV และ SIGBUS ภายในของ ART โดยอัตโนมัติโดยไม่มีการหยุดที่ไม่ถูกต้อง
    • rust-analyzer จะตรวจหาโดยอัตโนมัติจาก prebuilts/rust-toolchain/linux-x86/stable/rust-analyzer (โดยใช้ เป็นข้อมูลสำรอง prebuilts/rust/linux-x86/stable/rust-analyzer) และระบบจะระงับการแจ้งเตือน 'proc-macro' not found ที่ไม่ถูกต้องในไฟล์ out/soong/.intermediates ที่สร้างขึ้น

การทดสอบแพลตฟอร์มและการแก้ไขข้อบกพร่องของ cc_test และ rust_test

  • แก้ไขข้อบกพร่องของเป้าหมาย android_test, cc_test และ rust_test: เปิดใช้เซสชันการแก้ไขข้อบกพร่อง จาก Android.bp หรือไอคอน Gutter ของเมธอดทดสอบ:
    • โมดูล android_test จะเปิดใช้โดยใช้ atest --wait-for-debugger และแนบ Java Debugger
    • โมดูล cc_test, cc_test_host, rust_test และ rust_test_host จะเปิดใช้โดยตรงภายใต้ LLDB ในตัวโดยใช้ Build Native Test Module และ Deploy with atest (atest --collect-tests-only --disable-teardown) ก่อนการเปิดใช้
  • เทมเพลต LLDB แบบ 2 เป้าหมาย host_supported: true และต่อเครื่อง: สำหรับ cc_test และ rust_test โมดูลที่มี host_supported: true ระบบจะเปิดใช้ปุ่มตัวเลือกทั้ง Run on: Device และ Host ในการกำหนดค่า Soong Test พร้อมการ์ดการตั้งค่า LLDB ต่อเป้าหมายที่เป็นอิสระ, Program arguments, atest arguments และ Launch JSON (DAP Settings)

การอัปเดตใน IDE และคุณภาพของแพลตฟอร์ม

  • การแจ้งเตือนการอัปเดตใน IDE โดยอัตโนมัติ: ตั้งแต่ ASfP 2026.2.2 Canary 1 เป็นต้นไป ASfP จะตรวจสอบเวอร์ชันใหม่ในเบื้องหลังโดยอัตโนมัติและ แจ้งให้คุณทราบใน IDE ผ่านกล่องโต้ตอบ Android Studio and Plugin Updates พร้อมปุ่ม ดาวน์โหลด สำหรับแพ็กเกจ .deb ล่าสุดและ วิธีการติดตั้งในเทอร์มินัล คุณสามารถตรวจสอบการอัปเดตได้ทุกเมื่อโดยใช้ความช่วยเหลือ > ตรวจหาการอัปเดต
  • ลิงก์ช่อง -current-linux.deb แบบถาวร: สำหรับสคริปต์อัตโนมัติและการตั้งค่าบรรทัดคำสั่ง คุณสามารถเข้าถึงแพ็กเกจเวอร์ชันเสถียรและ Canary ล่าสุดได้ที่ URL แบบถาวร: https://dl.google.com/android/asfp/asfp-current-linux.deb (เวอร์ชันเสถียร) และ https://dl.google.com/android/asfp/asfp-canary-current-linux.deb (Canary)
  • การตรวจหาเวอร์ชันที่ไม่ตรงกันในดิสก์: ASfP จะตรวจหาเมื่อมีการอัปเดตการติดตั้งพื้นฐาน .debในดิสก์ขณะที่ IDE ทำงานอยู่ และ แจ้งให้คุณรีสตาร์ทอย่างสะอาด
  • การตรวจสอบลิขสิทธิ์และการคอมมิต AOSP เริ่มต้น: รวมถึง โปรไฟล์ส่วนหัวของลิขสิทธิ์ AOSP เริ่มต้นที่กำหนดค่าไว้ล่วงหน้าและการจัดรูปแบบข้อความคอมมิต การตรวจสอบที่ปรับให้เหมาะกับการมีส่วนร่วมในแพลตฟอร์ม
  • การจัดสรรหน่วยความจำเริ่มต้นที่เพิ่มขึ้น: ขนาดฮีปสูงสุดเริ่มต้นเพิ่มขึ้นจาก 20 GB เป็น 30 GB เพื่อรองรับโครงสร้างแหล่งที่มา AOSP ขนาดใหญ่