Projelere genel bakış

Platform için Android Studio'daki (ASfP) bir proje, AOSP kod tabanınızdaki çalışma alanınızı tanımlayan her şeyi (kaynak kod ve öğelerden test kodu ve derleme yapılandırmalarına kadar) içerir.

ASfP, yeni bir projeye başladığınızda tüm dosyalarınız için gerekli yapıyı oluşturur ve bu dosyaları Proje penceresinde görünür hale getirir. Pencereyi açmak için Görünüm > Araç Pencereleri > Proje'yi seçin.

Bu sayfada, proje yapılandırmanızdaki temel bileşenlere genel bir bakış sunulmaktadır.

Proje yapılandırması (.asfp-project)

ASfP proje yapılandırması, proje dizininizin kök kısmında bulunan .asfp-project dosyası tarafından kontrol edilir. Bu YAML dosyası, projenize nelerin dahil edileceğini ve kritik özelliklerin nasıl çalışacağını kontrol etmek için gereklidir. ASfP > Project > Open Config (ASfP > Proje > Yapılandırmayı Aç) seçeneğini kullanarak ana menüden veya proje görünümünde bularak açabilirsiniz.

Proje oluşturulduğunda, kullanıcı tarafından sağlanan spesifikasyonlara göre bir yapılandırma oluşturulur. Yapılandırmadaki tüm parametreler, proje özelliklerini değiştirmek için (ör. proje dizinlerini veya modüllerini güncellemek) istediğiniz zaman düzenlenebilir. Değişikliklerin yansıtılması için düzenleme işleminden sonra senkronizasyon yapılması gerekir.

Yapılandırma parametreleri

.asfp-project dosyasında yapılandırabileceğiniz temel parametreler şunlardır:

repo

Zorunlu

Android platformu deposu kökünüzün mutlak yolu.

repo: /path/to/aosp

lunch

Zorunlu

Projenizle birlikte kullanılacak öğle yemeği hedefi. Bu, senkronizasyon ve ilgili çalıştırma yapılandırmaları dahil tüm Soong derleme işlemleri için kullanılır.

lunch: your-product-variant-userdebug

directories

İsteğe bağlı

Projenize dahil edilecek veya projenizden hariç tutulacak dizinler. Bunlar, repo köküne göre göreli yollar olmalıdır.

directories:
  include:
    -   frameworks/base
    -   packages/apps/Settings
  exclude:
    -   vendor
    -   out/soong

modules

İsteğe bağlı

Projenize dahil edilecek veya projenizden hariç tutulacak modüller. Bunlar, daha önce belirtilen directories ile birlikte çalışır. Hem tam hem de kısaltılmış adlar desteklenir.

modules:
  include:
    -   SystemUIGoogle
    -   frameworks/base/services/core/java:services
  exclude:
    -   UnusedModule

test_sources

İsteğe bağlı

ASfP, üretim ve test kaynakları arasında ayrım yapmaya çalışır ancak bazı durumlarda test kaynaklarını açıkça belirtmeniz gerekebilir. Bunları repo köküne göre göreceli yollar olarak sağlayın. Belirtilen yolların alt dizinleri olan tüm kaynak kökleri test olarak işaretlenir.

test_sources:
  -   cts/tests/tests/example
  -   tests/mytests

other_languages

İsteğe bağlı

Java desteği varsayılan olarak dahildir. Diğer diller için destek ekleyebilirsiniz. ASfP, C/C++ (cpp) ve Rust'ı (rust) da destekler.

other_languages:
  -   cpp
  -   rust

build_config

İsteğe bağlı

Bu parametre, Soong derleme etkinliklerine özel işaretler veya ortam değişkenleri eklemenize olanak tanır. Bu yapılandırma, senkronizasyon ve çalıştırma yapılandırmaları da dahil olmak üzere IDE'deki Soong derlemesiyle sonuçlanan tüm işlemler için geçerlidir.

build_config:
  flags:
    -   -j64
  env:
    SOONG_ALLOW_MISSING_DEPENDENCIES: true
    MY_CUSTOM_VAR: value