SDV geliştirme için IDE ayarlama

Android Studio for Platform (ASfP), Android Automotive İşletim Sistemi (AAOS) Yazılım Tanımlı Araç (SDV) projeleri de dahil olmak üzere Android platformunu geliştirmek için önerilen entegre geliştirme ortamıdır (IDE). ASfP, kod düzenleme, oluşturma, hata ayıklama ve test etme için zengin bir araç seti sunar. Bu araçlardan bazıları şunlardır:

  • Yapay zeka destekli yardım (Gemini)
  • Rust, C veya C++, Java dil desteği
  • AAOS SDV geliştirme için faydalı entegrasyonlar (ör. Cuttlefish emülatör desteği ve VSIDL dil desteği)

Platform için Android Studio'yu yükleme

ASfP'yi yüklemek için:

  1. Platform için Android Studio'yu indirin.

  2. İhtiyaçlarınıza en uygun sürümü seçin:

    • Kararlı: En yeni üretim sürümü. Çoğu kullanıcı için önerilir.
    • Canary: En yeni özellikleri içeren ancak kararlılığı daha düşük olabilecek erken erişim derlemeleri
  3. İndirme sayfasında verilen yükleme talimatlarını uygulayın.

AAOS SDV projesi oluşturma

AAOS SDV projesi oluşturmak için:

  1. AAOS SDV kaynak kodu deposuna erişiminiz olduğunu ve yerel ödemenizi başlattığınızı ve senkronize ettiğinizi doğrulayın. Kaynağa erişme ve depoyu başlatma hakkında ayrıntılı bilgi için İndirme, oluşturma ve çalıştırma başlıklı makaleyi inceleyin.

  2. Platform için Android Studio'yu başlatın.

  3. Bu özelliği ilk kez kullanıyorsanız geliştirme ortamını özelleştirmek için Kurulum Sihirbazı'nı takip edin.

  4. Yeni proje oluşturma:

    • Açık bir projeniz yoksa karşılama ekranında Yeni'yi tıklayın.
    • Açık bir projeniz varsa 'ı tıklayın veya menüden ASfP > Proje > ASfP Projesini İçe Aktar'ı seçin.
  5. Sihirbazda proje yapılandırma ayrıntılarını girin:

    • Repo checkout: Yerel AAOS SDV kaynak kodu checkout'unuzun kökünün mutlak yolunu belirtin (örneğin, /path/to/sdv_source).

    • lunch target: Cuttlefish'te AAOS SDV geliştirme için uygun lunch hedefi girin. Örneğin: sdv_core_cf-aosp_current-userdebug. Daha fazla kullanılabilir hedef için Hedef seçme bölümüne bakın.

    • Proje kaynakları: Projenize eklemek istediğiniz ilk dizinleri veya modülleri listeleyin ya da dizinleri seçmek için dosya sistemi tarayıcısını açmak üzere klasör simgesini tıklayın. Çok fazla dizin veya modül seçmek, IDE'nin dizine ekleme ve arama performansını etkiler. Bu nedenle, yalnızca alakalı dizinleri veya modülleri ekleyin.

    • Dil desteği: Desteklenen diller olarak Rust ve C++'ı seçin.

    • Proje adı: Projenize açıklayıcı bir ad verin.

    • Kurulumu tamamlayın: Son'u tıklayın. ASfP, proje yapısını ve .asfp-project yapılandırma dosyasını oluşturur.

ASfP, otomatik olarak ilk senkronizasyon sürecini başlatır. ASfP, kaynak kodunuzu analiz eder, Soong derleme sistemini kullanarak bağımlılıkları giderir ve kod zekası özellikleri için gereken bilgileri oluşturur. Bu işlem, özellikle ilk senkronizasyon için önemli ölçüde zaman alabilir.

Projeyi özelleştirme

Proje kökünüzdeki .asfp-project dosyası, daha fazla özelleştirmeye olanak tanır. Bu dosyayı düzenleyerek şunları yapabilirsiniz:

  • Dizin ve modül ekleme veya kaldırma
  • C++ veya Rust gibi diğer diller için desteği etkinleştirin (Java ve Kotlin varsayılandır).
  • Derleme işaretlerini yapılandırın.

Yapılandırma dosyasında değişiklik yapmak için ASfP > Project > Open Config'i (ASfP > Proje > Yapılandırmayı Aç) seçin. Kullanılabilir yapılandırma seçenekleri için Projelere genel bakış bölümüne bakın.

Hata ayıklama ve test

ASfP'de kodda hata ayıklama ve kodu test etme hakkında bilgi edinmek için Platform kodunda hata ayıklama ve Platform kodunu atest ile test etme başlıklı makaleleri inceleyin.

Kullanılabilir entegrasyonlar

ASfP, AAOS SDV geliştirme için bazı faydalı entegrasyonlarla birlikte gelir. Bunlar arasında VSIDL'de Cuttlefish ve Language Server Protocol (LSP) desteği yer alır.

Cuttlefish eklentisi

Cuttlefish eklentisi, kullanıcıların doğrudan ASfP'den yerel Cuttlefish cihazları oluşturup çalıştırmasına olanak tanır.

Eklentiyi yükleme

Cuttlefish eklentisi ASfP ile önceden yüklenmiştir ve kurulum gerektirmez. Eklentinin çalışması için cihazda Cuttlefish araçlarının yüklü olması gerekir. Gerekirse Cuttlefish araçlarını yüklemek için talimatları uygulayın.

Cuttlefish cihazı oluşturma

Yeni bir cihaz oluşturmak için:

  1. Araçlar > Cihaz Yönetim Paneli'ni seçerek veya Cihaz Yönetim Paneli zaten sağ panele sabitlenmişse Çalışan Cihazlar simgesini tıklayarak Cihaz Yönetim Paneli araç penceresini açın.

  2. + simgesini tıklayın ve Create Cuttlefish Device'ı (Cuttlefish Cihazı Oluştur) seçin.

  3. Yeni Cuttlefish cihazını yapılandırın. Cuttlefish cihazlarını iki şekilde oluşturabilirsiniz:

    • Yerel Android kaynak ağacı ödemesinden:

      • Başlatma yapılandırmanıza karşılık gelen derlenmiş hedefin yolunu seçin (daha fazla bilgi için Hedef seçme başlıklı makaleye bakın).
      • Ana makine yolunu seçin.
      • İsteğe bağlı olarak, varsayılan yapılandırma için mevcut cihaz yapılandırmalarını veya Yok'u seçin.
    • Temel yapılandırmadan (tek bir yapılandırmadan birden fazla cihaz oluşturmak için bu seçeneği kullanın):

      • Cihaz yapılandırmasının yolunu seçin.
      • İsteğe bağlı olarak, yapılandırma seçeneklerini geçersiz kılmak için geçersiz kılma işaretleri sağlayın.
  4. Cuttlefish cihazının oluşturulup Cihaz Yöneticisi'ndeki çalışan cihazlar listesine eklenmesini bekleyin.

  5. Çalışan Cihazlar menüsünden Cuttlefish cihazını seçin.

Cihaz Yönetim Paneli'nde cihazın yanındaki durdur veya başlat simgesini tıklayarak tek tek Cuttlefish cihazlarını başlatabilir ya da durdurabilirsiniz.

Cuttlefish cihaz sayfasına erişme

Cuttlefish eklentisinde, ekran yansıtma özelliklerine erişebileceğiniz Cuttlefish Device (Cuttlefish Cihazı) sayfasını gösteren bir araç penceresi bulunur.

Cuttlefish araç penceresini açmak için sol taraftaki panelde ... simgesini tıklayın ve Cuttlefish'i seçin. Alternatif olarak, Yardım > İşlemi Bul menü öğesinde Cuttlefish'i arayabilirsiniz.

VSIDL'de Language Server Protocol

VSIDL'de LSP, ASfP'de VSIDL dosyalarıyla (.vsidl uzantılı) çalışırken geliştirme iş akışınızı iyileştirmek için zengin bir IDE özellikleri seti sunar.

Anlamsal söz dizimi vurgulama

LSP sunucusu, VSIDL dosyaları için söz dizimi vurgulama sağlar.

  • Ne yapar? Anahtar kelimeleri (service_bundle, publisher), alanları (package:, message:) ve değişmezleri vurgular.

  • Nasıl deneyebilirsiniz? Herhangi bir VSIDL dosyasını açın. Dosya, yapısal anahtar kelimeleri kullanıcı tanımlı tanımlayıcılardan ayırt etmek için renk kodludur.

Canlı teşhis (hatalar ve uyarılar)

LSP sunucusu, dosyaları sürekli olarak doğrular ve sorunları gerçek zamanlı olarak bildirir.

  • Ne yapar? Söz dizimi hatalarını, geçersiz tür referanslarını ve diğer hataları kataloğun tamamında ve bağımlılıklarında tespit eder.

  • Nasıl deneyebilirsiniz? Bir mesaj adında yazım hatası yapın (örneğin, TiiirePressure). Yazım hatasının altında kırmızı dalgalı bir çizgi görünür. Hata mesajını görmek için kelimenin üzerine gelin veya IDE'nin alt kısmındaki Sorunlar araç penceresinde tam listeyi görüntüleyin.

VSIDL kataloğunuzun farklı bölümleri arasındaki ilişkileri keşfetmek için gezinme ve analiz özelliklerini kullanabilirsiniz.

  • Otomatik tamamlama: Anahtar kelimeler, protobuf mesajları, RPC hizmetleri, konular ve kanallarla ilgili önerileri görmek için Control+Boşluk tuşlarına basın. Anahtar kelime önerileri, tamamlama menüsünde doğrudan amaçlarıyla ilgili kısa ve faydalı açıklamalar içerir. LSP, iş akışınızı hızlandırmak için publisher veya server gibi bloklar için akıllı snippet'ler de sağlar.

  • Tanıma gitme: Control tuşunu basılı tutun ve bir iletiyi, hizmeti, konuyu veya kanal referansını tıklayın (ya da Control+B tuşlarına basın). Bu sayede, farklı bir VSIDL veya protobuf dosyasında olsa bile doğrudan kaynak tanımına gidebilirsiniz.

  • Referansları bulma: İmlecinizi publisher, subscriber, server veya client anahtar kelimesinin üzerine getirin ve Alt+üst karakter+F7 tuşlarına basarak tüm oluşumları bulun.

  • Fareyle üzerine gelme bilgileri: İmlecinizi bir türün veya özelliğin üzerine getirin (ya da Control+Q tuşlarına basın). Doküman yorumlarını (varsa) gösteren bir ipucu görünür.

Yapısal özellikler

LSP sunucusu, büyük VSIDL dosyalarının yapısını yönetmenize ve bu dosyalarda gezinmenize yardımcı olur:

  • Belge sembolleri (ana hat): Hızlı gezinme ipucu için Control+F12 tuşlarına basın veya dosyadaki tüm paketlerin ve birimlerin ağaç görünümünü görmek için Yapı araç penceresini (Control+Alt+7) açın.

  • Daraltma aralıkları: service_bundle veya eşleme tanımları gibi büyük mantıksal blokları daraltmak ya da genişletmek için olukta (satır numaralarının yanında) > veya V simgelerini tıklayın.

  • Belge biçimlendirme: Dosyayı otomatik olarak yeniden biçimlendirmek, tutarlı girinti ve aralık oluşturmak için Control+Alt+L tuşlarına basın.