Moduł rozszerzeń SDK określa poziom pakietu SDK rozszerzenia na urządzeniu udostępnia interfejsy API umożliwiające aplikacjom wysyłanie zapytań na poziomie pakietu SDK rozszerzenia. Ten moduł którą można aktualizować, co oznacza, że może otrzymywać aktualizacje funkcji Cykl publikowania wersji Androida.
Rozszerzenia SDK odpowiadają za:
- Określam poziom pakietu SDK rozszerzenia na urządzeniu.
- Udostępniamy interfejsy API dla aplikacji do wysyłania zapytań na poziomie pakietu SDK rozszerzenia.
- (Od Androida 12) Określanie wartości dla wartości
BOOTCLASSPATH
,DEX2OATBOOTCLASSPATH
iSYSTEMSERVERCLASSPATH
zmienne środowiskowe.
Format modułu
Moduł rozszerzeń SDK (com.android.sdkext
) jest dostępny
Format APEX jest dostępny dla urządzeń.
z Androidem 11 lub nowszym,
Format pakietu
Moduł rozszerzeń SDK (com.google.android.sdkext
) jest dostępny
APEX oraz
zawiera następujące komponenty:
(Od Androida 12)
bin/derive_classpath
: A natywny plik binarny uruchamiany na wczesnym etapie rozruchu urządzenia proces tworzenia konta. Odczytuje z systemu poszczególne pliki konfiguracji ścieżki klasy oraz innych modułów, scala je i określa definicję polaCLASSPATH
. zmiennych środowiskowych.bin/derive_sdk
: natywny plik binarny uruchamiany na wczesnym etapie rozruchu urządzenia. i odczytuje metadane innych modułów, aby ustawić właściwości systemowe powiązane z SDK rozszerzenia (np.build.version.extensions.r
).javalib/framework-sdkextension.jar
: ten plik znajduje się w ścieżce rozruchowej, która udostępnia API aplikacjom w celu wysłania zapytań na poziomie pakietu SDK rozszerzenia.
Wygeneruj poziom pakietu SDK rozszerzenia
Program derive_sdk
odczytuje metadane zapisane jako binarne pliki protokołu w
Ścieżka podrzędna etc/sdkinfo.binarypb
w każdym module APEX. Szczegółowe informacje o protobufie
zapoznaj się z
protobuf
.
Odczytywanie poziomu pakietu SDK rozszerzenia
Moduł rozszerzeń SDK udostępnia
SdkExtensions
w pakiecie android.os.ext
. Użyj funkcji getExtensionVersion(int)
do odczytu wersji rozszerzenia SDK (na przykład
getExtensionVersion(Build.VERSION_CODES.R)
).
Uzyskiwanie ścieżek klasy
Usługa derive_classpath
odczytuje i scala poszczególne pliki konfiguracyjne w
/system/etc/classpaths/
i /apex/*/etc/classpaths/
. Każda przechowywana konfiguracja
wiadomość Protobuf od classpaths.proto
w formacie binarnym proto. dokładny algorytm scalania, który określa kolejność;
wpisów ścieżki klasy opisano w
derive_classpath.cpp
i mogą z czasem ulec zmianie.