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