使用 Trade Federation 與 Android 的 Scripting Layer

Android 腳本層 (SL4A) 是一套自動化工具,可獨立於平台呼叫 Android API。這項功能支援透過 adb 進行遠端自動化,以及透過一系列輕量型轉譯層,從裝置執行指令碼。

專案位於 platform/external/sl4a

使用

您可以按照 SL4A README 手動建構及安裝。透過 Tradefed 執行時,您可以運用一些架構公用程式,讓使用更加輕鬆。

下載並安裝

您可以先查看 BT-discovery-sl4a.xml,這是使用兩部裝置的 Tradefed 設定範例。SL4A.apk 位於大多數裝置版本的 tests 資料夾中。

上述 Tradefed 範例會自動擷取建構版本、刷入兩個裝置,並在兩個裝置上安裝 SL4A.apk。您可以像這樣執行:

source build/envsetup.sh
lunch
make sl4a
tradefed.sh run google/example/BT-discovery-sl4a

或建構完成後:

./tradefed.sh run google/example/BT-discovery-sl4a

使用 SL4A 在 Tradefed 中編寫測試

您可以按照上述測試範例操作: Sl4aBluetoothDiscovery.java。 這是一個很好的範例,說明如何在 Tradefed 測試中使用 SL4A。

SL4A API 說明文件

您可以產生透過 SL4A 提供的完整回呼清單。從 SL4A 來源目錄 platform/external/sl4a/ 執行下列指令:

python Docs/generate_api_reference_md.py

Docs 目錄中會有 ApiReference.md 檔案,其中包含 SL4A 提供的 RPC 函式,以及 RPC 函式的說明文件。