Od 27 marca 2025 r. zalecamy używanie android-latest-release
zamiast aosp-main
do kompilowania i wspołtworzenia AOSP. Więcej informacji znajdziesz w artykule o zmianach w AOSP.
Używanie federacji wymiany z warstwą skryptów na Androida
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Scripting Layer for Android (SL4A) to zestaw narzędzi automatyzacji do wywoływania interfejsów API Androida w sposób niezależny od platformy.
Obsługuje zarówno zdalne automatyzacje za pomocą adb
, jak i wykonywanie skryptów na urządzeniu za pomocą serii lekkich warstw tłumaczenia.
Projekt znajduje się w folderze platform/external/sl4a.
Użyj
Aby skompilować i zainstalować SL4A ręcznie, możesz postępować zgodnie z instrukcjami w pliku SL4A README. Podczas korzystania z Tradefed możesz korzystać z niektórych narzędzi, aby ułatwić sobie pracę.
Pobierz i zainstaluj
Zacznij od przejrzenia pliku BT-discovery-sl4a.xml, czyli przykładowej konfiguracji Tradefed, która korzysta z 2 urządzeń. SL4A.apk
jest dostępny w większości wersji urządzenia w folderze tests
.
W podanym powyżej przykładzie Tradefed automatycznie pobiera kompilacje, flashuje oba urządzenia i instaluje SL4A.apk
na obu. Możesz go uruchomić w ten sposób:
source build/envsetup.sh
lunch
make sl4a
tradefed.sh run google/example/BT-discovery-sl4a
Albo po utworzeniu:
./tradefed.sh run google/example/BT-discovery-sl4a
Pisanie testu w Tradefed za pomocą SL4A
Możesz skorzystać z przykładu testu opisanego powyżej:
Sl4aBluetoothDiscovery.java.
Poniżej znajdziesz dobry przykład użycia SL4A w ramach testu Tradefed.
Dokumentacja interfejsu API SL4A
Możesz wygenerować pełną listę wywołań zwrotnych dostępnych w SL4A. W katalogu źródłowym SL4A (platform/external/sl4a/
) uruchom to polecenie:
python Docs/generate_api_reference_md.py
W katalogu Dokumenty znajdziesz plik ApiReference.md
zawierający funkcje RPC dostępne w SL4A oraz dokumentację tych funkcji.
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-27 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-07-27 UTC."],[],[],null,["# Use Trade Federation with Scripting Layer for Android\n\nScripting Layer for Android, SL4A, is an\nautomation toolset for calling Android APIs in a platform-independent manner.\nIt supports both remote automation via `adb` and execution of scripts\nfrom on-device via a series of lightweight translation layers.\n\nThe project is located at [platform/external/sl4a](https://android.googlesource.com/platform/external/sl4a/).\n\nUse\n---\n\nYou can follow the [SL4A README](https://android.googlesource.com/platform/external/sl4a/+/refs/heads/android16-release/README.md)\nto build and install it manually. And when running through Tradefed, you\ncan take advantage of some of the harness utilities to make use easier.\n\n### Download and install\n\nYou can start by reviewing\n[BT-discovery-sl4a.xml](https://android.googlesource.com/platform/tools/tradefederation/contrib/+/refs/heads/android16-release/res/config/google/example/BT-discovery-sl4a.xml),\nan example Tradefed configuration that uses two devices. The `SL4A.apk` is\navailable in most device builds within their `tests` folder.\n\nThe Tradefed example above automatically fetches the builds, flashes both\ndevices and installs `SL4A.apk` on both devices. You can run it like so: \n\n source build/envsetup.sh\n lunch\n make sl4a\n tradefed.sh run google/example/BT-discovery-sl4a\n\nOr once built: \n\n ./tradefed.sh run google/example/BT-discovery-sl4a\n\n### Write a test in Tradefed using SL4A\n\nYou can follow the test sample describe above:\n[Sl4aBluetoothDiscovery.java](https://android.googlesource.com/platform/tools/tradefederation/contrib/+/refs/heads/android16-release/src/com/android/tradefed/Sl4aBluetoothDiscovery.java).\nThis gives a good example of the flow to use SL4A within a Tradefed test.\n\n### SL4A API documentation\n\nThe complete list of callbacks available through SL4A can be generated. From the\nSL4A source directory, `platform/external/sl4a/`, run this command: \n\n python Docs/generate_api_reference_md.py\n\nIn the Docs directory there will be an `ApiReference.md` file that contains\nthe RPC functions available in SL4A, as well as documentation for the RPC\nfunctions."]]