ภาพรวมโปรเจ็กต์

โปรเจ็กต์ใน 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