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 > โปรเจ็กต์) แล้วเลือก ส่งออกไปยังเทมเพลต
- นำเข้าจากเทมเพลต: บูตสแตรปโปรเจ็กต์ AOSP ใหม่ในวิซาร์ดการตั้งค่าโดยเลือก นำเข้าจากเทมเพลต แล้วชี้ไปยังไฟล์ YAML ที่แชร์
- ตัวเลือกวิซาร์ดการตั้งค่าที่ได้รับการปรับปรุง: กำหนดค่าการบิลด์ที่กำหนดเอง ตัวแปร
สภาพแวดล้อม และเปิดใช้ 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 ขนาดใหญ่