SL4A (Scripting Layer for Android) ist eine Sammlung von Automatisierungstools zum plattformunabhängigen Aufrufen von Android-APIs.
Es unterstützt sowohl die Remote-Automatisierung über adb als auch die Ausführung von Skripts auf dem Gerät über eine Reihe von einfachen Übersetzungsebenen.
Das Projekt befindet sich unter platform/external/sl4a.
Verwenden
Sie können der SL4A-README-Datei folgen, um es manuell zu erstellen und zu installieren. Wenn Sie Tradefed verwenden, können Sie einige der Harness-Dienstprogramme nutzen, um die Verwendung zu vereinfachen.
Herunterladen und installieren
Sehen Sie sich zuerst BT-discovery-sl4a.xml an, eine Beispielkonfiguration für Tradefed, in der zwei Geräte verwendet werden. Die SL4A.apk ist in den meisten Geräte-Builds im Ordner tests verfügbar.
Im Tradefed-Beispiel oben werden die Builds automatisch abgerufen, beide Geräte geflasht und SL4A.apk auf beiden Geräten installiert. Sie können es so ausführen:
source build/envsetup.sh
lunch
make sl4a
tradefed.sh run google/example/BT-discovery-sl4a
Oder nach der Erstellung:
./tradefed.sh run google/example/BT-discovery-sl4a
Test in Tradefed mit SL4A schreiben
Sie können dem oben beschriebenen Testbeispiel folgen: Sl4aBluetoothDiscovery.java. Dies ist ein gutes Beispiel für den Ablauf, der für die Verwendung von SL4A in einem Tradefed-Test erforderlich ist.
SL4A API-Dokumentation
Die vollständige Liste der über SL4A verfügbaren Rückrufe kann generiert werden. Führen Sie im SL4A-Quellverzeichnis platform/external/sl4a/ diesen Befehl aus:
python Docs/generate_api_reference_md.py
Im Docs-Verzeichnis befindet sich die Datei ApiReference.md, die die in SL4A verfügbaren RPC-Funktionen sowie die Dokumentation für die RPC-Funktionen enthält.