VNDK uzantıları

Android cihaz üreticileri, çeşitli nedenleri vardır. Bazı satıcılar AOSP kitaplıklarındaki işlevleri Diğer tedarikçiler yeni kancalar, yeni API'ler veya yeni özellikler eklerken performansı artırır. işlevsellikleri hakkında daha fazla bilgi edinin. Bu bölümde, AOSP kitaplıklarını, CTS/VTS'yi bozmayacak şekilde genişletme.

Servise bırakma

Değiştirilen tüm paylaşılan kitaplıklar ikili ile uyumlu olmalıdır. AOSP muadillerinin değişikliklerine. Mevcut olanların tümü AOSP kullanıcıları, değiştirilen paylaşılan kitaplığı ücretsiz olarak kullanabilmelidir. derlemeler. Bu şart, aşağıdakileri ifade eder:

  • AOSP işlevleri kaldırılmamalıdır.
  • Bu tür yapılar maruz kalınan yapıların içinde değişiklik yardımcı olur.
  • İşlevlerin ön koşulu güçlendirilemez.
  • İşlevler eşdeğer işlevler sağlamalıdır.
  • İşlevlerin son durumu zayıflatılmamalıdır.

Genişletilmiş modül sınıflandırmaları

Modülleri tanımladıkları işlevlere göre sınıflandırırlar. kullanabilirsiniz.

Not: İşlevler burada kullanılır değişiklik yapmadan işlev eklemek mümkün olduğundan, API/ABI yerine herhangi bir API/ABI.

Bir modülde tanımlanan işlevlere bağlı olarak, modüller DA-Modül ve DX-Modül olarak sınıflandırılmıştır:

  • Defining-only-AOSP Modülleri (DA-Module) yeni tanımlama değil AOSP'de olmayan bazı işlevlere sahip.
    • 1.örnek Değiştirilmemiş bir AOSP kitaplığı, DA-Modülü.
    • 2.örnek Bir tedarikçi, fonksiyonları SIMD talimatlarıyla libcrypto.so (yeni eklemeden işlevleri) içeriyorsa, değiştirilen libcrypto.so bir DA Modülü olur.
  • Açıklama-Uzantı Modülleri (DX-Module) ya yeni olması veya AOSP eşdeğeri olmaması gerekir.
    • 1.örnek Tedarikçi firma, reklamverenin Bazı dahili verilere erişmek için libjpeg.so, ardından libjpeg.so bir DX-Lib olacak, yeni eklenen işlev genişletilmiş kısmını kullanabilirsiniz.
    • 2.örnek Bir tedarikçi, libfoo.so, ardından libfoo.so bir DX-Lib olacak.

Bir modülün kullandığı işlevlere bağlı olarak modüller sınıflandırılabilir. UA-Module ve UX-Module entegrasyonlarına dahildir.

  • Yalnızca AOSP Modüllerini Kullanma (UA Modülü), yalnızca AOSP işlevlerini kullanır pek çok faydası vardır. AOSP olmayan uzantılar kullanılmaz.
    • 1.örnek Değiştirilmemiş bir AOSP kitaplığı, UA Modülü'nü seçin.
    • 2.örnek Değiştirilmiş bir paylaşılan kitaplık varsa libjpeg.so diğer AOSP API'lerine dayandığı takdirde UA Modülü olur.
  • Uzantı Modüllerini Kullanma (Kullanıcı Deneyimi Modülü), AOSP dışındaki bazı işlevleri bulunuyor.
    • 1.örnek Değiştirilmiş libjpeg.so libjpeg_turbo2.so adlı AOSP olmayan başka bir kitaplık, ardından Değiştirilen libjpeg.so, bir Kullanıcı Deneyimi Modülü olacaktır.
    • 2.örnek Tedarikçi firma, değiştirilmiş e-postaya yeni bir işlev eklerse libexif.so ve değiştirdikleri libjpeg.so şunları kullanıyor: libexif.so kaynağından yeni eklenen işlev, ardından değiştirilmiş libjpeg.so, Kullanıcı Deneyimi Modülü olacak.

Tanımlar ve kullanımlar birbirinden bağımsızdır:

Kullanılan İşlevler
Yalnızca AOSP (UA) Genişletilmiş (Kullanıcı Deneyimi)
Tanımlanan İşlevler Yalnızca AOSP (DA) DAUA DAUX
Genişletilmiş (DX) DXUA DXUX

VNDK uzantı mekanizması

Genişletilmiş işlevlerden yararlanan tedarikçi modülleri Aynı ada sahip AOSP kitaplığı, genişletilmiş işleve sahip değildir. Eğer doğrudan veya dolaylı olarak kapsamı genişletilmiş işlevlere bağlı olan Tedarikçi firma; DAUX, DXUA ve DXUX paylaşılan kitaplıklarını tedarikçiye kopyalamalıdır. bölüm (tedarikçi firma işlemleri her zaman satıcıda paylaşılan kitaplıkları arar bölümünü içerir). Ancak LL-NDK kitaplıklarının kopyalanmaması gerekir. Bu nedenle, modüllerin, söz konusu değişiklik tarafından tanımlanan genişletilmiş işlevlere bağlı LL-NDK kitaplıkları.

DAUA paylaşılan kitaplıkları, karşılık gelen AOSP kitaplığı, aynı işlevi ve satıcıyı bir Genel program, sistem bölümünün üzerine yazıldığında, modüller çalışmaya devam eder Sistem Görüntüsü (GSI).

GSI, ad çakışması durumunda değiştirilmiş paylaşılan kitaplıklara bağlanır. Öğe AOSP kitaplıkları, API/ABI ile uyumlu olmayan bir şekilde değiştirilmiştir. AOSP GSI'daki kitaplıklar bağlanamayabilir veya tanımlanmamış davranışlara neden olabilir.