โปรเจ็กต์ใน Android Studio for Platform (ASfP) มีทุกอย่างที่กำหนด พื้นที่ทํางานสําหรับฐานของโค้ด AOSP ตั้งแต่ซอร์สโค้ดและชิ้นงานไปจนถึงโค้ดทดสอบ และการกําหนดค่าการสร้าง
เมื่อคุณเริ่มโปรเจ็กต์ใหม่ ASfP จะสร้างโครงสร้างที่จำเป็นสำหรับไฟล์ทั้งหมด และทำให้ไฟล์เหล่านั้นปรากฏในหน้าต่างโปรเจ็กต์ หากต้องการเปิดหน้าต่าง ให้เลือก ดู > หน้าต่างเครื่องมือ > โปรเจ็กต์
หน้านี้แสดงภาพรวมของคอมโพเนนต์หลักในการกำหนดค่าโปรเจ็กต์
การกำหนดค่าโปรเจ็กต์ (.asfp-project
)
การกำหนดค่าโปรเจ็กต์ ASfP จะควบคุมโดยไฟล์ .asfp-project
ซึ่งอยู่ในรูทของไดเรกทอรีโปรเจ็กต์ ไฟล์ YAML นี้มีความสำคัญต่อการควบคุมสิ่งที่อยู่ในโปรเจ็กต์และวิธีที่ฟีเจอร์สำคัญทำงาน คุณ
สามารถเปิดได้ผ่านเมนูหลักโดยใช้ ASfP > โปรเจ็กต์ > เปิดการกำหนดค่า หรือโดย
ค้นหาในมุมมองโปรเจ็กต์
เมื่อสร้างโปรเจ็กต์แล้ว ระบบจะสร้างการกำหนดค่าตามข้อกำหนดที่ผู้ใช้ระบุ คุณแก้ไขพารามิเตอร์ทั้งหมดในการกำหนดค่าได้ทุกเมื่อเพื่อแก้ไขข้อกำหนดของโปรเจ็กต์ เช่น อัปเดตไดเรกทอรีหรือโมดูลของโปรเจ็กต์ หลังจากนั้นจะต้องซิงค์ เพื่อให้การเปลี่ยนแปลงมีผล
พารามิเตอร์การกําหนดค่า
พารามิเตอร์หลักที่คุณกำหนดค่าได้ในไฟล์ .asfp-project
มีดังนี้
repo
ต้องระบุ
เส้นทางสัมบูรณ์ไปยังรูทของที่เก็บแพลตฟอร์ม Android
repo: /path/to/aosp
lunch
ต้องระบุ
เป้าหมายการเปิดตัวที่จะเชื่อมโยงกับโปรเจ็กต์ของคุณ ใช้สำหรับการดำเนินการสร้าง Soong ทั้งหมด รวมถึงการซิงค์และการกำหนดค่าการเรียกใช้ที่เกี่ยวข้อง
lunch: your-product-variant-userdebug
directories
ไม่บังคับ
ไดเรกทอรีที่จะรวมไว้ในหรือยกเว้นจากโปรเจ็กต์ โดยควรเป็นเส้นทางที่สัมพันธ์กับรูท repo
directories:
include:
- frameworks/base
- packages/apps/Settings
exclude:
- vendor
- out/soong
modules
ไม่บังคับ
โมดูลที่จะรวมไว้ในโปรเจ็กต์หรือยกเว้นจากโปรเจ็กต์ ซึ่งจะทำงานร่วมกับ directories
ที่ระบุก่อนหน้านี้ รองรับทั้งชื่อเต็มและชื่อย่อ
modules:
include:
- SystemUIGoogle
- frameworks/base/services/core/java:services
exclude:
- UnusedModule
test_sources
ไม่บังคับ
ASfP พยายามแยกความแตกต่างระหว่างแหล่งที่มาของการผลิตและแหล่งที่มาของการทดสอบ แต่ในบางกรณี คุณอาจต้องระบุแหล่งที่มาของการทดสอบอย่างชัดเจน ระบุเป็น
เส้นทางแบบสัมพัทธ์ที่สัมพันธ์กับรูท repo
รูทของแหล่งที่มาที่เป็น
ไดเรกทอรีย่อยของเส้นทางที่ระบุจะได้รับการทำเครื่องหมายเป็นการทดสอบ
test_sources:
- cts/tests/tests/example
- tests/mytests
other_languages
ไม่บังคับ
การรองรับ Java จะรวมอยู่โดยค่าเริ่มต้น คุณเพิ่มการรองรับภาษาอื่นๆ ได้
นอกจากนี้ ASfP ยังรองรับ C/C++ (cpp
) และ Rust (rust
) ด้วย
other_languages:
- cpp
- rust
build_config
ไม่บังคับ
พารามิเตอร์นี้ช่วยให้คุณเพิ่มแฟล็กที่กำหนดเองหรือตัวแปรสภาพแวดล้อมลงในเหตุการณ์ Soong build ได้ การกำหนดค่านี้มีผลกับการดำเนินการทั้งหมดใน IDE ที่ส่งผลให้เกิด การสร้าง Soong ซึ่งรวมถึงการกำหนดค่าการซิงค์และการเรียกใช้
build_config:
flags:
- -j64
env:
SOONG_ALLOW_MISSING_DEPENDENCIES: true
MY_CUSTOM_VAR: value