SDV geliştirme için IDE ayarlama

Platform için Android Studio (ASfP), Android Automotive İşletim Sistemi (AAOS) Yazılımla Tanımlanmış 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, derleme, hata ayıklama ve test etme için zengin bir araç seti sunar. Bu araçlar arasında şunlar yer alı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ı kullanın.

  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-trunk_staging-userdebug. Daha fazla kullanılabilir hedef için Hedef seçme bölümüne bakın.

    • Proje kaynakları: Projenize dahil etmek 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 etme

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, VSIDL'de Cuttlefish ve Language Server Protocol (LSP) desteği de dahil olmak üzere AAOS SDV geliştirme için bazı yararlı entegrasyonlarla birlikte gelir.

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. Running Devices (Ç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 ... simgesini tıklayın ve Cuttlefish'i seçin. Alternatif olarak, Yardım > İşlemi Bul menü öğesinde Cuttlefish'i arayabilirsiniz.

VSIDL'de Dil Sunucusu Protokolü

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.

  • İşlevi: Söz dizimi hatalarını, geçersiz tür referanslarını ve diğer hataları tüm katalogda 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+Space tuşlarına basın. Anahtar kelime önerileri, amaçlarıyla ilgili kısa ve faydalı açıklamaları doğrudan tamamlama menüsünde 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 için Control+Alt+L tuşlarına basın. Bu işlem, tutarlı girinti ve boşluk oluşturur.